Запустил программу:| Код | void SendKey(int vkCode, int down) { INPUT keyEvent = {0};
keyEvent.type = INPUT_KEYBOARD; keyEvent.ki.wVk = vkCode; keyEvent.ki.wScan = MapVirtualKey(vkCode, 0);
if (!down) { keyEvent.ki.dwFlags = KEYEVENTF_KEYUP; }
SendInput(1, &keyEvent, sizeof(keyEvent)); }
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int cmdShow) { SendKey(162, 1); // Ctrl прижат SendKey(160, 1); // Shift прижат SendKey(162, 0); // Ctrl отпущен SendKey(160, 0); // Shift отпущен
return 0; } |
Судя по указанным у трея буквам язык сменился. Скажем, был EN, а после отработки программы стал RU. Переключаюсь в какое-нибудь приложение по Alt+Tab и в этот момент буквы меняются с RU на EN.
Если перед запуском программы стояло RU, то станет EN и при перещелкивании приложений по Alt+Tab никуда EN не денется. Что за поведение? |