Что нового

точка с запятой вместо двоеточия даже на английской раскладке

RockMan

Новичок
Сообщения
67
Репутация
0
Код:
Func _WinAPI_LoadKeyboardLayoutEx($sLayoutID = 0x0409, $hWnd = 0)
    Local Const $WM_INPUTLANGCHANGEREQUEST = 0x50
    Local $aRet = DllCall('user32.dll', 'uint_ptr', 'LoadKeyboardLayoutW', 'wstr', Hex($sLayoutID, 8), 'uint', BitOR(0x00000001, 0x00000100));0x00000101
    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   ;==>_WinAPI_LoadKeyboardLayoutEx

$hWindow = WinGetHandle("MyWindows")

_WinAPI_LoadKeyboardLayoutEx(0x0409, $hWindow)

Sleep(1000)

ControlSend("MyWindows", "", "", '+:')


уже перерыл все что мог те темы на форуме что тут были не помогли, хоть ты тресни лепит точку с запятой вместо двоеточия почему так?
если просто в обычное окно Send ("+:") на английской раскладке всё ок, при инглиш раскладке ставится двоеточие, в моем же случае язык стоит на английском, если нет он переключает на английский но все равно вместо : ставит ; люди помогите уже сил нету
 

sngr

AutoIT Гуру
Сообщения
1,010
Репутация
408
Читать научись и будут силы, открываешь справку и листаешь пока силы не вернуться.
Код:
ControlSend
Send
 
Верх