`
阿尔萨斯
  • 浏览: 4171124 次
社区版块
存档分类
最新评论

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

 
阅读更多
<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>
多个软件之间进行数据共享是非常重要的,难以想像编辑软件没有CTRL+CCTRL+V的功能,是多么的不方便。很多的操作,就是拷贝的动作,就是为了数据共享。剪贴板共享是Windows里比较重要的功能,比如很多采集数据的软件为了方便导数据到Excel里面,就可以使用剪贴板的功能。还有即见即所得的界面导到Word里面,也可以使用剪贴板的功能。
函数OpenClipboard声明如下:
WINUSERAPI
BOOL
WINAPI
OpenClipboard(
__in_opt HWND hWndNewOwner);
hWndNewOwner是前贴板所属于的窗口。
调用函数的例子如下:
#001//拷贝数据到剪贴板。
#002//蔡军生2007/12/09 QQ:9073204 深圳
#003void 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



分享到:
评论

相关推荐

    新编Windows API 参考大全(CHM 中文版)

    第一章 Win32 API概论…………………………………………………………………………1 1.1 为什么使用Win32 API …………………………………………………………………1 1.2 Win32 API简介 ………………………………...

    windows api大全 chm版

    第一章 Win32 API概论…………………………………………………………………………1 1.1 为什么使用Win32 API …………………………………………………………………1 1.2 Win32 API简介 ……………………………………...

    Windows API的Tcl扩展包TWAPI

    Overview Tcl Windows API extension overview. Installation Installation requirements and instructions. Win32 raw API Direct access to the Win32 API. Window management Commands related to management of ...

    clipbrd windows剪切板

    当系统应用程序出现 cannot open clipboard,有可能是开启了远程桌面(比如向日葵)导致快捷键冲突,把这个文件放入到C:\WINDOWS\system32 目录下面就可以了...

    clipbrd 剪切板

    当系统应用程序出现 cannot open clipboard 是,把这个文件放入到C:\WINDOWS\system32 目录下面就可以了...

    易语言演示剪贴板窗口链

    易语言演示剪贴板窗口链源码,演示剪贴板窗口链,新窗口函数,注册剪贴板数据类型,新窗口函数1,新窗口函数2,新窗口函数3,OpenClipboard,EmptyClipboard,SetClipboard,SetClipboardData,GlobalAlloc,GlobalLock,...

    (推荐)Win32 API大全

    第一章 Win32 API概论…………………………………………………………………………1 1.1 为什么使用Win32 API …………………………………………………………………1 1.2 Win32 API简介 ………………………………...

    文件编码,了解windows乱码复制粘贴机制meizhitu-clipboardviewer-3766643

    SetClipboardData 文件编码,了解windows乱码复制粘贴机制 meizhitu-clipboardviewer-3766643 ~ CF_UNICODETEXT 含有Unicode文字的記憶體塊。與CF_TEXT類似,它在每一行的末尾包含一個carriage return和linefeed...

    易语言取剪贴板非文本数据

    易语言取剪贴板非文本数据源码,取剪贴板非文本数据,GetClipboardSequenceNumber,GetClipboardData,GlobalSize,OpenClipboard,CloseClipboard,IsClipboardFormatAvailable,GetClipboardFormatNameA,...

    clipboard-online:在Windows和iOS之间共享内容

    如果没有,也许你需要git clone git@github.com:YanxinTang/clipboard-online.git cd clipboard-online go get github.com/akavel/rsrc ./build.sh 您可以在release目录中找到发布箱用法在Windows上运行clipboard-...

    LINUX CLIPBOARD.7z

    在网上搜索这方面的资料,相信大家都非常奇怪,怎么一点也没有。吾也总算是找到了一些,供大家参考。 当然,大家也可以参考吾博文: https://blog.csdn.net/quantum7/article/details/103079567

    C++Builder函数库

    文件: ActnList CreateAction 函数 创建一个指定类型的Action,显示在action list editor中。...Clipboard 函数 返回一个TClipboard对象 SetClipboard 函数 用一个新TClipboard替换全局TClipboard。

    pb函数大集合

    数据类型检查与转换函数 DoScript() GetCommandDDE() Open() Asc() GetApplication() GetCommandDDEOrigin() OpenSheet() Char() GetEnvironment() GetDataDDE() OpenSheetWithParm() Dec() GetFocus() ...

    Programming Windows API 5th -Charles Petzold.CHM

    Programming Windows API 5th -Charles Petzold.CHM(英文原版) ------------------------------------------------------------- Windows系统编程经典教程 跟朋友们分享下... --------------------------...

    VC Clipboard Windows 剪贴板操作相关源码.rar

    VC Clipboard Windows 剪贴板操作相关源码,演示了剪贴板复制、粘贴、剪切的功能实现,研究一下在VC 中如何调用Windows剪切板中的数据,这个例子虽然简单,不过对大家以后的编程还是很有用处的。  //打开系统剪贴板...

    剪贴板函数

    实现剪贴板功能相关函数解释。OpenClipboard()等函数。

    监视剪切板的Excel表格数据

    工程只提取了监视功能, 使用windows 对应剪切板API。 使用方法: 1、初始化 使用 SetClipboardViewer ,把本窗口句柄传入,并且保存返回的下个窗口句柄。 2、在消息响应函数中 WindowProc中 处理WM_CHANGECBCHAIN,...

Global site tag (gtag.js) - Google Analytics