ChangeWindowMessageFilter に関する技術資料
DLL などで他のアプリケーションからメッセージを受け取るためのフィルタ機能が、 Windows Vista 以降には存在します。
HP Mouse Suite 2.3 を Windows XP や Vista にインストール
関連する定義
#define MSGFLT_ADD 1 #define MSGFLT_REMOVE 2 |
例
typedef DWORD(WINAPI *VISTAMSGFILTER)(DWORD,DWORD); VISTAMSGFILTER pCWMF; DWORD WM_MTEST1=RegisterWindowMessage("test1"); DWORD WM_MTEST2=RegisterWindowMessage("test2"); HMODULE hDll=LoadLibrary("user32.dll"); if(hDll){ //XP以前ではこの関数の取得に失敗するので実行されない pCWMF=(VISTAMSGFILTER)GetProcAddress (hDll,"ChangeWindowMessageFilter"); if(pCWMF){ pCWMF(WM_MTEST1,MSGFLT_ADD); pCWMF(WM_MTEST2,MSGFLT_ADD); } FreeLibrary(hDll); } |
うにゃー、なんか面倒ですね。
Comments