seriousstas
Новичок
- Сообщения
- 32
- Репутация
- 0
Читаю доки :
Нашел такой вариант :
Но он тормозит работу скрипта ..
Подскажите, как это правильно сделать ?; Эмуляция нажатия комбинации клавиш Win + R
; Send("#r")
Send("#к") ; если русский язык по умолчанию при загрузке OS, то вместо "#r" нужно "#к", либо в скрипте временно переключать на англоязычную раскладку.
Нашел такой вариант :
Код:
_WinAPI_LoadKeyboardLayout(0x0409)
Func _WinAPI_LoadKeyboardLayout($sLayoutID, $hWnd = 0)
Local Const $WM_INPUTLANGCHANGEREQUEST = 0x50
Local $aRet = DllCall("user32.dll", "long", "LoadKeyboardLayoutW", "wstr", Hex($sLayoutID, 8), "int", 0)
If Not @error And $aRet[0] Then
If $hWnd = 0 Then
$hWnd = WinGetHandle(AutoItWinGetTitle())
EndIf
DllCall("user32.dll", "ptr", "SendMessage", "hwnd", $hWnd, "int", $WM_INPUTLANGCHANGEREQUEST, "int", 1, "int", $aRet[0])
Return 1
EndIf
Return SetError(1)
EndFunc
Но он тормозит работу скрипта ..