не знаю что ты хочешь, но если пытаешься поменять раскладку в 10ке через _WinAPI_SetKeyboardLayout, то скорее всего ждет тебя печалька
потому что функция _WinAPI_SetKeyboardLayout ссылается на функцию _WinAPI_LoadKeyboardLayout, не передавая ей нужный параметр. Можно в библиотеке WinAPISys.au3 поправить функцию _WinAPI_SetKeyboardLayout, тогда она будет работать. Надо добавить параметр $KLF_ACTIVATE: Func _WinAPI_SetKeyboardLayout($hWnd, $iLanguage, $iFlags = 0) If Not _WinAPI_IsWindow($hWnd) Then Return SetError(@error + 10, @extended, 0) Local $hLocale = 0 If $iLanguage Then $hLocale = _WinAPI_LoadKeyboardLayout($iLanguage, $KLF_ACTIVATE) If Not $hLocale Then Return SetError(10, 0, 0) EndIf Local Const $WM_INPUTLANGCHANGEREQUEST = 0x0050 DllCall('user32.dll', 'none', 'SendMessage', 'hwnd', $hWnd, 'uint', $WM_INPUTLANGCHANGEREQUEST, 'uint', $iFlags, 'uint_ptr', $hLocale) If @error Then Return SetError(@error, @extended, 0) Return 1 EndFunc ;==>_WinAPI_SetKeyboardLayout
У тебя работает? У меня - нет.
Если в библиотеке подкорректировать функцию, то работает. Смотри что автоит внизу в консоль пишет, какая ошибка.
ты ж экстрасенс! гадай!
У меня ее вообще нет. А где она должна быть?
Обсуждают сегодня