auto_clipboard,clipboard

auto_clipboard,clipboard

黄山松发表于博客园:

#ifndef __HSS_AUTO_CLIPBOARD_HSS__
#define __HSS_AUTO_CLIPBOARD_HSS__

/*********************************************************************************
*  2012-10-30
自动复制内容到剪贴板

  用法:

  复制:
  auto_clipboard a(hwnd, psz);

  粘贴:
  CString sz;
  auto_clipboard::GetText(sz);
***************************************************************************/

class auto_clipboard
{
public:
    auto_clipboard(HWND hwnd, LPCTSTR pszText)
    {
        if (::OpenClipboard(hwnd))
        {
            ::EmptyClipboard();

            HANDLE hMem = ::GlobalAlloc(GMEM_MOVEABLE | GMEM_DDESHARE , strlen(pszText) 1);
            if (hMem)
            {
                char* pszMem = (char*)(::GlobalLock(hMem));
                if (pszMem)
                {
                    strcpy(pszMem, pszText);
                    ::GlobalUnlock(hMem);
                    SetClipboardData(CF_TEXT, hMem);
                }
                ::GlobalFree(hMem);
            }
            CloseClipboard();
        }
    }

    ~auto_clipboard()
    {
    }

    /*************************************************************************
    * auto_clipboard    :    2014年12月2日
    * CString sz        :   
    **************************************************************************/
#ifdef __AFX_H__
    static BOOL GetText(CString& sz)
    {
        if (!OpenClipboard(0))        
            return FALSE;

        HANDLE hClip = GetClipboardData(CF_TEXT);

        if (hClip == 0)
太阳集团所有网址16877,        {
            CloseClipboard();
            return FALSE;
        }

        LPVOID pRes = (LPVOID)GlobalLock(hClip);

        if (pRes == 0)
        {
            CloseClipboard();
            return FALSE;
        }

        sz = (char*)pRes;

        GlobalUnlock(hClip);

        CloseClipboard();

        return TRUE;
    }
#endif
};

#endif

黄山松发表于博客园: #ifndef __HSS_AUTO_CLIPBOARD_HSS__ #define __HSS_AUTO_CLIPBOARD_HSS__ /******...

黄山松发表于博客园:

#ifndef __HSS_AUTO_CLIPBOARD_HSS__
#define __HSS_AUTO_CLIPBOARD_HSS__

/*********************************************************************************
*  2012-10-30
自动复制内容到剪贴板

  用法:

  复制:
  auto_clipboard a(hwnd, psz);

  粘贴:
  CString sz;
  auto_clipboard::GetText(sz);
***************************************************************************/

class auto_clipboard
{
public:
    auto_clipboard(HWND hwnd, LPCTSTR pszText)
    {
        if (::OpenClipboard(hwnd))
        {
            ::EmptyClipboard();

            HANDLE hMem = ::GlobalAlloc(GMEM_MOVEABLE | GMEM_DDESHARE , strlen(pszText) 1);
            if (hMem)
            {
                char* pszMem = (char*)(::GlobalLock(hMem));
                if (pszMem)
                {
                    strcpy(pszMem, pszText);
                    ::GlobalUnlock(hMem);
                    SetClipboardData(CF_TEXT, hMem);
                }
                ::GlobalFree(hMem);
            }
            CloseClipboard();
        }
    }

    ~auto_clipboard()
    {
    }

    /*************************************************************************
    * auto_clipboard    :    2014年12月2日
    * CString sz        :   
    **************************************************************************/
#ifdef __AFX_H__
    static BOOL GetText(CString& sz)
    {
        if (!OpenClipboard(0))        
            return FALSE;

本文由太阳集团所有网址16877发布于www.16877.com,转载请注明出处:auto_clipboard,clipboard

您可能还会对下面的文章感兴趣: