这篇教程C++ DispatchMessageA函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中DispatchMessageA函数的典型用法代码示例。如果您正苦于以下问题:C++ DispatchMessageA函数的具体用法?C++ DispatchMessageA怎么用?C++ DispatchMessageA使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了DispatchMessageA函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: Test_GetKeyStatevoid Test_GetKeyState(){ HWND hwnd; MSG msg; hwnd = CreateTestWindow(); hKbdHook = SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, GetModuleHandleA( NULL ), 0); hKbdLLHook = SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, GetModuleHandleA( NULL ), 0); ok(hKbdHook!=NULL," /n"); ok(hKbdLLHook!=NULL," /n"); keybd_event(VK_LMENU, 0, 0,0); while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessageA( &msg ); keybd_event(VK_LMENU, 0, KEYEVENTF_KEYUP,0); //fixme this hangs the test //while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE|PM_NOYIELD )) DispatchMessageA( &msg ); DestroyWindow(hwnd); while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessageA( &msg ); UnhookWindowsHookEx (hKbdHook); UnhookWindowsHookEx (hKbdLLHook); }
开发者ID:GYGit,项目名称:reactos,代码行数:29,
示例2: Win32_GetEventstatic int Win32_GetEvent(SST_DisplayTarget target, SST_WMEvent* eventReturn){ MSG msg; SST_DisplayTarget_Win32* displayTarget = (SST_DisplayTarget_Win32*)target; SST_Window_Win32* win; int found = 0; /* First, get Win32 messages and dispatch to winproc. We do this immediately, otherwise the OS thinks we've hung. */ while(PeekMessageA(&msg, NULL, 0, 0, PM_REMOVE)) { TranslateMessage(&msg); DispatchMessageA(&msg); } /* Check for user events */ if(RemoveFromEQ(&displayTarget->userEventQueue, eventReturn)) return 1; /* Now check each window's event queue */ win = displayTarget->firstWindow; while(win) { if(RemoveFromEQ(&win->eventQueue, eventReturn)) { found = 1; break; } win = win->next; } return found;}
开发者ID:figgles,项目名称:libsst,代码行数:34,
示例3: CreateWndThreadAunsigned WINAPI CreateWndThreadA( LPVOID pThreadParam) { HWND hWnd = CreateWindowA( "Azureus Window Hook", NULL, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL); if( hWnd == NULL){ printf( "Failed to create window/n" ); return( 0 ); }else{ MSG Msg; while(GetMessageA(&Msg, hWnd, 0, 0)) { TranslateMessage(&Msg); DispatchMessageA(&Msg); } return Msg.wParam; }}
开发者ID:cnh,项目名称:BitMate,代码行数:27,
示例4: CreateTestWindowstatic HWND CreateTestWindow(){ MSG msg; WNDCLASSA wclass; HANDLE hInstance = GetModuleHandleA( NULL ); HWND hWndTest; wclass.lpszClassName = "MouseInputTestClass"; wclass.style = CS_HREDRAW | CS_VREDRAW; wclass.lpfnWndProc = WndProc; wclass.hInstance = hInstance; wclass.hIcon = LoadIconA( 0, IDI_APPLICATION ); wclass.hCursor = LoadCursorA( NULL, IDC_ARROW ); wclass.hbrBackground = (HBRUSH)( COLOR_WINDOW + 1 ); wclass.lpszMenuName = 0; wclass.cbClsExtra = 0; wclass.cbWndExtra = 0; RegisterClassA( &wclass ); /* create the test window that will receive the keystrokes */ hWndTest = CreateWindowA( wclass.lpszClassName, "MouseInputTestTest", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, 100, 100, NULL, NULL, hInstance, NULL); assert( hWndTest ); ShowWindow( hWndTest, SW_SHOWMAXIMIZED); SetWindowPos( hWndTest, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE ); SetForegroundWindow( hWndTest ); UpdateWindow( hWndTest); SetFocus(hWndTest); /* flush pending messages */ while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessageA( &msg ); return hWndTest;}
开发者ID:mutoso-mirrors,项目名称:reactos,代码行数:34,
示例5: test_messagesstatic void test_messages(void){ WNDCLASSA cls; HWND win; MSG msg; HANDLE thread; DWORD tid; InitializeCriticalSection(&clipboard_cs); memset(&cls, 0, sizeof(cls)); cls.lpfnWndProc = clipboard_wnd_proc; cls.hInstance = GetModuleHandleA(NULL); cls.lpszClassName = "clipboard_test"; RegisterClassA(&cls); win = CreateWindowA("clipboard_test", NULL, 0, 0, 0, 0, 0, NULL, 0, NULL, 0); ok(win != NULL, "CreateWindow failed: %d/n", GetLastError()); thread = CreateThread(NULL, 0, clipboard_thread, (void*)win, 0, &tid); ok(thread != NULL, "CreateThread failed: %d/n", GetLastError()); while(GetMessageA(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessageA(&msg); } ok(WaitForSingleObject(thread, INFINITE) == WAIT_OBJECT_0, "WaitForSingleObject failed/n"); CloseHandle(thread); UnregisterClassA("clipboard_test", GetModuleHandleA(NULL)); DeleteCriticalSection(&clipboard_cs);}
开发者ID:AlexSteel,项目名称:wine,代码行数:33,
示例6: GetMessageAint OGLTest::Run(){ bool fFirst = true; MSG msg; do { BOOL fGotMessage; if (miRenderStep) { fGotMessage = GetMessageA(&msg, 0, 0, 0); } else { fGotMessage = PeekMessageA(&msg, 0, 0, 0, PM_REMOVE); } if (fGotMessage) { TranslateMessage(&msg); DispatchMessageA(&msg); } float dt = 0.0f; /* Time in seconds since last render step. @todo Measure. */ BOOL fDoRender = FALSE; if (miRenderStep) { if (msg.message == WM_CHAR) { if (msg.wParam == ' ') { fDoRender = TRUE; dt = fFirst ? 0.0f : 0.1f; /* 0.1 second increment per step. */ } } } else { fDoRender = TRUE; } if (fDoRender) { if (mpRender) { setCurrentGLCtx(mhGLRC); mpRender->TimeAdvance(dt); mpRender->DoRender(); setCurrentGLCtx(NULL); fFirst = false; } } } while (msg.message != WM_QUIT); return msg.wParam;}
开发者ID:mdaniel,项目名称:virtualbox-org-svn-vbox-trunk,代码行数:59,
示例7: message_loop void message_loop() { MSG msg; while (GetMessage(&msg, 0, 0, 0)) { DispatchMessageA(&msg); TranslateMessage(&msg); } }
开发者ID:alex-kir,项目名称:ak-cpp-lib,代码行数:9,
|