トップ回答者
メッセージがフックできません

質問
-
何時もお世話になっております。
ここで、色々皆さんに教えて頂、メッセージをフックする関数を作りました。
(SrcDioInt.h)
class TDioInt
{
private:
public:
HWND hWnd;public:
TDioInt(void);
~TDioInt(void);
HANDLE GetEventHandle(int ChNo);
HANDLE SetInt(int ChNo, bool PolUpEdge, TDioIntEvent Value);
int EnableInt(int ChNo, bool fEnable);
protected:
};LRESULT CALLBACK WndProcDioInt(int code, WPARAM wParam, LPARAM lParam);
(SrcDioInt.cpp)
//---------------------------------------------------------------------------
// WndProc - Dioボードからの割り込みメッセージを受け取るためのエントリ
//---------------------------------------------------------------------------
LRESULT CALLBACK WndProcDioInt(int code, WPARAM wParam, LPARAM lParam)
{
WORD ChNo;
MSG *msg = (MSG *)lParam;if(code < 0)
{
return CallNextHookEx(hMyHook, code, wParam, lParam);
}if(WM_DIOINT_CH0 <= msg->message && WM_DIOINT_CH3 >= msg->message)
{
ChNo = msg->message - WM_DIOINT_CH0;
if(DioInt->EventRes[ChNo].FOnIntProc)
{
//yo999 DioInt->EventRes[ChNo].FOnIntProc(this, ChNo);
}
if(DioInt->EventRes[ChNo].hEvent)
{
//yo999 DioInt->PulseEvent(EventRes[ChNo].hEvent);
}}
return CallNextHookEx( hMyHook, code, wParam, lParam);
}----------------------------------------------------------------------------------------------------------------------------------------------------------------------
hMyHook = SetWindowsHookEx(WH_GETMESSAGE,(HOOKPROC)WndProcDioInt,hice_FormMain,0);
if(hMyHook == NULL)
{
LPVOID lpMsgBuf;
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT),
(LPTSTR)&lpMsgBuf,
0,
NULL);
MessageBox(NULL,(LPCTSTR)lpMsgBuf,(LPCTSTR)"AutoUpdate",MB_OK + MB_ICONWARNING+MB_TOPMOST);
SetErr(ERR_SYSRESOURCE);
return;
}hice_FormMainはNULLでやったら、
モジュールハンドルなしで非ローカルフックを設定することができません。
と怒られたので、Main.cpp(MainForm)のインスタンスハンドルを持ってきました。
ブレークを張って見たのですが、ぜんぜんメッセージが入ってきません。
宜しくお願い致します。