系统相关
首页 > 系统相关> > Windows API一日一练 85 OpenClipboard函数

Windows API一日一练 85 OpenClipboard函数

作者:互联网

多个软件之间进行数据共享是非常重要的,难以想像编辑软件没有CTRL+C,CTRL+V的功能,是多么的不方便。很多的操作,就是拷贝的动作,就是为了数据共享。剪贴板共享是Windows里比较重要的功能,比如很多采集数据的软件为了方便导数据到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        if (OpenClipboard(m_hWnd) && #007               EmptyClipboard()) #008         { #009               // #010               HGLOBAL hMem; #011               std::wstring strText(_T("拷贝数据到剪贴板")); #012               #013               //分配全局内存。 #014               hMem = GlobalAlloc(GMEM_MOVEABLE, #015                    (strText.length() + 1) * sizeof(TCHAR)); #016               if (hMem == NULL) #017               { #018                    CloseClipboard(); #019                    return; #020               }    #021  #022               //拷贝数据到剪贴板内存。 #023               LPTSTR lpStr = (LPTSTR)GlobalLock(hMem); #024               memcpy(lpStr, strText.c_str(), #025                    strText.length() * sizeof(TCHAR)); #026               lpStr[strText.length()] = (TCHAR) 0; #027               GlobalUnlock(hMem); #028  #029               //设置数据到剪贴板 #030               SetClipboardData(CF_UNICODETEXT, hMem); #031  #032               //关闭剪贴板。 #033               CloseClipboard(); #034         } #035  } #036     

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

标签:剪贴板,hMem,Windows,strText,API,拷贝,lpStr,OpenClipboard
来源: https://www.cnblogs.com/skiwnchh/p/10347615.html