目前程序的hook
//
HHOOK g_hHookMouse = NULL;
//
LRESULT CALLBACK MouseProc( int nCode, WPARAM wParam, LPARAM lParam )
{
return 1;
}
//
HHOOK g_hHookKeybord = NULL;
//
HWND g_hWnd = NULL;
//
LRESULT CALLBACK KeybordProc( int nCode, WPARAM wParam, LPARAM lParam )
{
if( VK_F2 == wParam )
{
//::SendMessage( g_hWnd, WM_CLOSE,0, 0 );
::UnhookWindowsHookEx( g_hHookKeybord );
::UnhookWindowsHookEx( g_hHookMouse );
}
// if( VK_SPACE == wParam || VK_RETURN == wParam )
if( VK_F4 == wParam && (1 == ( lParam >> 29 & 1 ) ) )
return 1;
else
return CallNextHookEx( g_hHookKeybord, nCode, wParam, lParam );
}
InitDialog(...)
{
//
g_hHookMouse = SetWindowsHookEx( WH_MOUSE, MouseProc, NULL, ::GetCurrentThreadId() );
//
g_hWnd = m_hWnd;
g_hHookKeybord = SetWindowsHookEx( WH_KEYBOARD, KeybordProc, NULL, ::GetCurrentThreadId() );
}