![]() |
#11 |
Участник
|
Вот мои наработки на тему ввода имени пользователя для AutoHotkey. Но хочу сразу предупредить, что скрипт очень сырой, по-хорошему его надо доработать. Направления для доработки приведены в коде в виде комментариев:
Код: ;Запрещаем две одовременно работающие копии скрипта #SingleInstance ignore ;Включаем поиск по частичным совпадениям SetTitleMatchMode 2 ;Запускаем навик Run, C:\Program Files\Microsoft Navision 4\Client\fin.exe "database=c:\temp\newstore.fdb"`,"company=CRONUS"`,"ntauthentication=0"`,"NetType=tcp", C:\Program Files\Microsoft Navision 4\Client\, , AppPID ;Ждем появления его окна ;Название и класс окна приведены для русской 4-ки, у других версий они могут отличаться WinWait, Microsoft Business Solutions-Navision ahk_class C/SIDE Application ahk_pid %AppPID% ;Здесь может появиться: ;1 - окно логина ;2 - окно лицензии ;3 - ничего ;4 - окно выбора базы (хотя оно вроде само по себе не появляется) ;Какое-нить предупреждение, например что сервер не найден ;И эту ситуацию нужно как-то обработать ;Ждем появления окна логина ;Название и класс окна приведены для русской 4-ки, у других версий они могут отличаться WinWait, Логин ahk_class C/SIDE Glued ;Активизируем его IfWinNotActive { WinActivate WinWaitActive } ;GUI Navision сделаны по какой-то хитрой (возможно старой) технологии и получить хендл отдельного элемента ;управления нельзя, чтобы применить к нему SeText, поэтому будем использовать Send Send, Username{ENTER} ;Имя пользователя желательно читать из какого-нибудь файла |
|