- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
监控剪切板几个windows API函数
监控剪切板的几个windows API函数
(1)系统提供了WM_DRAWCLIPBOARD消息用于监视剪切板的变化。如果调用SetClipboardViewer函数
设置了窗口为剪切板查看器,那么当剪切板内容变化时,所注册的查看器窗口会收到WM_CHANGECBCHAIN消息和WM_DRAWCLIPBOARD消息.当剪切板中的内容变化时,窗口会收到WM_DRAWCLIPBOARD消息.当查看器链表中有新的节点加入或有节点退出窗口会收到WM_CHANGECBCHAIN消息(2)SetClipboardViewerHWND SetClipboardViewer( HWND hWndNewViewer);
hWndNewViewer指定了监视窗口
另外还有(msdn中都有):
获取剪切板中格式的API函数int GetPriorityClipboardFormat(UINT* paFormatPriorityList, int cFormats); 函数的检测功能是检测剪切板中是否有特定格式的数据.
CountClipboardFormats函数返回当前剪切板中具有的不同格式的数量int CountClipboardFormats(void);
EnumClipboardFormats枚举当前剪切板中的所有格式UINT EnumClipboardFormats(UINT format);
GetUpdatedClipboardFormats函数获取当前剪切板所有格式BOOL GetUpdatedClipboardFormats( PUINT lpuiFormats,UINT cFormats,PUINT pcFormatsOut);
剪切板数据的格式信息int GetClipboardFormatName(UINT format, LPTSTR lpszFormatName, int cchMaxCount);
code:
/* 头文件 */#include windows.h#include commctrl.h#include resource.h/* 全局变量 */HINSTANCE hinst;UINT uFormat = (UINT)(-1);BOOL fAuto = TRUE;HWND hwnd;
LPSTR szFormatText = CF_TEXT;LPSTR szFormatOwnerdiplay = CF_OWNERDISPLAY;LPSTR szFormatEnhmetafile = CF_ENHMETAFILE;LPSTR szFormatBitMap = CF_BITMAP;/* 函数声明 */void WINAPI InitMenu(HWND hwnd, HMENU hmenu) ;BOOL WINAPI IsDisplayableFormat(UINT uFormat) ;void WINAPI SetAutoView(HWND hwnd) ;BOOL InitApplication(HINSTANCE hinstance);BOOL InitInstance(HINSTANCE hinstance, int nCmdShow);LPSTR GetPredefinedClipboardFormatName(UINT);LRESULT CALLBACK MainWndProc( HWND ,UINT , WPARAM , LPARAM );
/* ************************************* WinMain* 功能 程序入口点,调用InitApplication,InitInstance* 消息循环* 参数 hinstance,应用程序本次运行实例* hPrevInstance,应用程序之前的实例,始终为NULL* lpCmdLine,命令行参数* nCmdShow,如果窗口,SW_SHOW* 返回值 失败返回FALSE**************************************/int WINAPI WinMain(HINSTANCE hinstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){MSG msg;BOOL fGotMessage;// InitApplicationif (!InitApplication(hinstance)){return FALSE;}// InitInstanceif (!InitInstance(hinsta
文档评论(0)