windowsapi函数:Windows API一日一练(85)OpenClipboard函数

  多个软件Software的间进行数据共享是非常重要难以想像编辑软件Software没有CTRL+CCTRL+V功能是多么不方便很多操作就是拷贝动作就是为了数据共享剪贴板共享是Windows里比较重要功能比如很多采集数据软件Software为了方便导数据到excel里面就可以使用剪贴板功能还有即见即所得界面导到word里面也可以使用剪贴板功能

  OpenClipboard声明如下:

WINUSERAPI
BOOL
WINAPI
OpenClipboard(
    __in_opt HWND hWndNewOwner);


  hWndNewOwner是前贴板所属于窗口

  例子如下:

#001 //拷贝数据到剪贴板
#002  //蔡军生 2007/12/09 qq:9073204 深圳
#003  void TestClipBoard(void)
#004  {
#005         //打开剪贴板并清空
#006         (OpenClipboard(m_hWnd) &&
#007               EmptyClipboard)
#008         {
#009               //
#010               HGLOBAL hMem;
#011               std::w strText(_T("拷贝数据到剪贴板"));
#012              
#013               //分配全局内存
#014               hMem = GlobalAlloc(GMEM_MOVEABLE,
#015                    (strText.length + 1) * (TCHAR));
#016                (hMem  NULL)
#017               {
#018                    CloseClipboard;
#019                    ;
#020               }   
#021 
#022               //拷贝数据到剪贴板内存
#023               LPTSTR lpStr = (LPTSTR)GlobalLock(hMem);
#024               memcpy(lpStr, strText.c_str,
#025                    strText.length * (TCHAR));
#026               lpStr[strText.length] = (TCHAR) 0;
#027               GlobalUnlock(hMem);
#028 
#029               //设置数据到剪贴板
#030               SetClipboardData(CF_UNICODETEXT, hMem);
#031 
#032               //关闭剪贴板
#033               CloseClipboard;
#034         }
#035  }
#036 


Tags:  api函数 openclipboard失败 openclipboard windowsapi函数

延伸阅读

最新评论

发表评论