Что нового

ControlSend в неактивное окно

Сообщения
8
Репутация
-1
Собственно такой вопрос, возникла необходимость заменить функцию Send (посылающей только в активное окно символы), функцией посылающей символы в неактивное окно. Порылся на форуме, обнаружил Controlsend функцию, но как не бился, разобраться как ей пользоваться не получилось, функция упорно не желает посылать символы не то что бы в неактивное окно, даже в активное окно упорно не видит куда ей надо посылать текст.
Код:
#NoTrayIcon                                                         
$settings = "settings6.ini" 
$way = Iniread($settings,"way","way1","")
$WindowName = IniRead($settings, "Settings", "WindowName", "")      
$ProcessName = IniRead($settings, "Settings", "ProcessName", "")    
$Login = IniRead($settings, "Account", "Login", "")                 
$Password = IniRead($settings, "Account", "Password", "")           


  ShellExecute($way)
  sleep (10000)
  send ("{ENTER}")
  sleep (2000)
  send ("{ESC}")
  sleep (2000)
If ProcessExists($ProcessName) Then                                 
WinSetState ($WindowName, "", @SW_RESTORE)                          
WinActivate ($WindowName, "")	
ControlSend($windowname,"","",$login)                                                        
ControlSend("{TAB}")                                                      
ControlSend($windowname,"","",$Password)                                                     
ControlSend("{ENTER}")   

Endif

может ошибка в том, что не правильно задал параметры функции? Конкретно она должна заполнять поля логин\пароль в игре, для переключения полей использую посылку TAB =)
 

nowost

Знающий
Сообщения
178
Репутация
17
хендл попробуй указать

Код:
$aHandle = WinGetHandle('$ProcessName')
ControlSend($windowname,"",$aHandle,$login)
 
Автор
T
Сообщения
8
Репутация
-1
Спасибо, handle помог) но почему то TAB и Enter так и не хочет отправлять...
все исправил) стоило только дописать еще
Код:
ControlSend[b]($windowname,"",$ahandle,"[/b]{ENTER}")
 

ava

нуб
Сообщения
10
Репутация
0
[Ошибки] Re: ControlSend в неактивное окно

стоило только дописать еще
Код:
ControlSend[b]($windowname,"",$ahandle,"[/b]{ENTER}")
Думаю лучше будет убрать попытку выделения, я минут десять пытался понять, что за недокументированная опция, пока не сообразил, что это html-tag
Код:
[b][/b]
 
Верх