針對 XP 及以前的監(jiān)視剪貼板更改的方法就不講了,因為 XP 已嚴重過時。本篇老周介紹的方法面向 Vista 以上的系統(tǒng)。

在托管應用程序中監(jiān)聽剪貼板更新行為必須用到 Win 32 API ,具體做法,我先簡單說一下。

首先,調(diào)用 AddClipboardFormatListener 函數(shù)來向窗口注冊監(jiān)聽行為,它需要一個窗口句柄作為傳入?yún)?shù),該句柄所指的窗口即是監(jiān)聽剪貼板更新的窗口。

然后,當剪貼板的內(nèi)容被更新,處理程序會收到一條 WM_CLIPBOARDUPDATE 消息。我們在應用程序中,只要收到這條消息,就說明剪貼板的內(nèi)容已被更新。

 

WM_CLIPBOARDUPDATE 消息的宏定義如下:

#define WM_CLIPBOARDUPDATE              0x031D

這個消息的 wParam 和 lParam 參數(shù)都不曾使用,所以我們不必理會這兩個參數(shù)值。如果用戶已處理該消息,應當返回 0。

 

AddClipboardFormatListener 函數(shù)的原型如下:

        		

網(wǎng)友評論