Скрипт простой, нажимаем кнопку в окошке и скрипт вставляет ссылку в адресную строку браузера, у меня мозилла и координаты рассчитаны для адресной строки мозиллы, если у вас другой браузер то просто подправьте координаты под адресную строку вашего браузера.
Ошибка появляется если делать в такой последовательности:
1)запускаем браузер
2)запускаем скрипт (раскладка клавиатуры не важка, скрипт сам переключит на английскую)
3)сами вручную переключаем клавиатуру на русскую
4)нажимаем кнопку в скрипте
...и видим что в адрессную строку вставляется не http://autoit-script.ru а что-то другое.
Подскажите пожалуйста как исправить?
Ошибка появляется если делать в такой последовательности:
1)запускаем браузер
2)запускаем скрипт (раскладка клавиатуры не важка, скрипт сам переключит на английскую)
3)сами вручную переключаем клавиатуру на русскую
4)нажимаем кнопку в скрипте
...и видим что в адрессную строку вставляется не http://autoit-script.ru а что-то другое.
Подскажите пожалуйста как исправить?
Код:
#include <WinAPISys.au3>
#include <GUIConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIEdit.au3>
#include <WinAPIEx.au3>
#include <Misc.au3>
_FixAccelHotKeyLayout()
Local $hDLL = DllOpen("user32.dll")
Opt("WinTitleMatchMode", 2)
$GUI = GUICreate("WWW", 200, 100)
$nButton = GUICtrlCreateButton('', 20, 20, 100, 50)
GUISetState(@SW_SHOW)
WinSetOnTop($GUI, "", 1)
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
ExitLoop
Case $nButton
sleep(200)
MouseMove(@DesktopWidth/2, 50, 0)
Sleep(50)
MouseClick("left")
Sleep(300)
ClipPut("http://autoit-script.ru")
Send("^v")
EndSwitch
WEnd
Func _FixAccelHotKeyLayout()
If @KBLayout <> 409 Then
_WinAPI_SetKeyboardLayout(WinGetHandle('[ACTIVE]'), 0x0409)
EndIf
EndFunc
Последнее редактирование: