針對(duì) XP 及以前的監(jiān)視剪貼板更改的方法就不講了,因?yàn)?XP 已嚴(yán)重過時(shí)。本篇老周介紹的方法面向 Vista 以上的系統(tǒng)。
在托管應(yīng)用程序中監(jiān)聽剪貼板更新行為必須用到 Win 32 API ,具體做法,我先簡(jiǎn)單說一下。
首先,調(diào)用 AddClipboardFormatListener 函數(shù)來向窗口注冊(cè)監(jiān)聽行為,它需要一個(gè)窗口句柄作為傳入?yún)?shù),該句柄所指的窗口即是監(jiān)聽剪貼板更新的窗口。
然后,當(dāng)剪貼板的內(nèi)容被更新,處理程序會(huì)收到一條 WM_CLIPBOARDUPDATE 消息。我們?cè)趹?yīng)用程序中,只要收到這條消息,就說明剪貼板的內(nèi)容已被更新。
WM_CLIPBOARDUPDATE 消息的宏定義如下:
#define WM_CLIPBOARDUPDATE 0x031D
這個(gè)消息的 wParam 和 lParam 參數(shù)都不曾使用,所以我們不必理會(huì)這兩個(gè)參數(shù)值。如果用戶已處理該消息,應(yīng)當(dāng)返回 0。
AddClipboardFormatListener 函數(shù)的原型如下:
網(wǎng)友評(píng)論