Можно ли как то принудительно запускать программу(скрипт) с английской раскладкой?
Вот этот код меняет раскладку. Можно ли его изменить,что бы перед запуском моего скрипта,раскладка менялась только на английскую.
Вот этот код меняет раскладку. Можно ли его изменить,что бы перед запуском моего скрипта,раскладка менялась только на английскую.
Код:
#include <GUIConstantsEx.au3>
#include <GUIEdit.au3>
#include <WinAPIEx.au3>
_FixAccelHotKeyLayout()
HotKeySet("^+e", "_Quit")
$hGUI = GUICreate("Fix for hotkey/Accelerators assign problem", 300, 200)
$nEdit = GUICtrlCreateEdit("", 20, 40, 260, 120)
$nDummy = GUICtrlCreateDummy()
Dim $aAccelKeys[1][2] = [["^a", $nDummy]]
GUISetAccelerators($aAccelKeys)
GUISetState(@SW_SHOW, $hGUI)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $nDummy
_GUICtrlEdit_SetSel($nEdit, 0, -1)
EndSwitch
WEnd
Func _Quit()
Exit
EndFunc
Func _FixAccelHotKeyLayout()
Static $iKbrdLayout, $aKbrdLayouts
If Execute('@exitMethod') <> '' Then
Local $iUnLoad = 1
For $i = 1 To Ubound($aKbrdLayouts) - 1
If Hex($iKbrdLayout) = Hex('0x' & StringRight($aKbrdLayouts[$i], 4)) Then
$iUnLoad = 0
ExitLoop
EndIf
Next
If $iUnLoad Then
_WinAPI_UnloadKeyboardLayout($iKbrdLayout)
EndIf
Return
EndIf
$iKbrdLayout = 0x0409
$aKbrdLayouts = _WinAPI_GetKeyboardLayoutList()
_WinAPI_LoadKeyboardLayout($iKbrdLayout, $KLF_ACTIVATE)
OnAutoItExitRegister('_FixAccelHotKeyLayout')
EndFunc