WINAPI WinMain Code in CTestApp::InitInstance() umbauen
-
Hi,
ich möchte folgenden WinApi Code im meine MFC (Dialog) Anwendung einbauen,
aber es klappt nicht.#define _WIN32_WINNT 0x0400 #include <Windows.h> LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) { BOOL fEatKeystroke = FALSE; if (nCode == HC_ACTION) { switch (wParam) { case WM_KEYDOWN: case WM_SYSKEYDOWN: case WM_KEYUP: case WM_SYSKEYUP: PKBDLLHOOKSTRUCT p = (PKBDLLHOOKSTRUCT) lParam; // Alt+Tab if((p->vkCode == VK_TAB) && ((p->flags & LLKHF_ALTDOWN) != 0)) { fEatKeystroke = TRUE; break; } // Alt+Esc if((p->vkCode == VK_ESCAPE) && ((p->flags & LLKHF_ALTDOWN) != 0)) { fEatKeystroke = TRUE; break; } // Alt+Esc if(p->vkCode == VK_ESCAPE) { fEatKeystroke = TRUE; break; } // Ctrl+Esc if((p->vkCode == VK_ESCAPE) && ((GetKeyState(VK_CONTROL) & 0x8000) != 0)) { fEatKeystroke = TRUE; break; } // win key if( (p->vkCode == VK_LWIN) || (p->vkCode == VK_RWIN) ) { fEatKeystroke = TRUE; break; } break; } } return(fEatKeystroke ? 1 : CallNextHookEx(NULL, nCode, wParam, lParam)); } int WINAPI WinMain(HINSTANCE hinstExe, HINSTANCE, PTSTR pszCmdLine, int) { // Install the low-level keyboard & mouse hooks HHOOK hhkLowLevelKybd = SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, hinstExe, 0); // Keep this app running until we're told to stop MessageBox(NULL, "Win, Alt+Esc, Ctrl+Esc, and Alt+Tab are now disabled", "Disable Low-Level Keys", MB_OK); UnhookWindowsHookEx(hhkLowLevelKybd); return(0); }
Da der Code die WINAPI WinMain nutzt und ich in meiner App Klasse ja die
BOOL CTestApp::InitInstance()
habe weis ich nicht so richtig wie ich den Code in meiner App Klasse einbaue.
Ich wäre für jeden Tipp wirklich dankbar.
cu asmodia