Что нового

Не корректно отправляется ControlSend в не активное окно

dr.room

Новичок
Сообщения
283
Репутация
0
Всем привет!
Всё не получается отправить нажатие паузы (английское "p") в окне игрушки онлайн.
Что получилось:
  • Перевести все окно в английскую раскладку
  • Если открыт чат: в чат все корректно пишет
Получается что если предварительно активировать чат то фокус ввода будет на нем - и отправка "p" реализуется . Но если просто отправить "p" (хот кей паузы) - то действие не наступает.
Хелп :smile: вкратце написал так .... заранее спасибо.
Код:
$hWnd = WinGetHandle("[Class:ApolloRuntimeContentWindow]") ; окно 
if Not WinExists($hWnd) Then
			MsgBox(262192,"Сообщение","Не удалось найти окно нужное ")
EndIf
ControlSend($hWnd,"","","p")
 

Hiki

Новичок
Сообщения
27
Репутация
1
Код:
; Запуск блокнота
Run('notepad.exe')
; Ожидание 5 секунд до появления блокнота
$hWnd = WinWait("[CLASS:Notepad]", "", 5)
; Если окно блокнота становится не активным, то посылает "р" 1 раз
If WinWaitNotActive($hWnd) Then ControlSend($hWnd,"","Edit1","p")
 
Автор
D

dr.room

Новичок
Сообщения
283
Репутация
0
Это понятно. Тут проблема не в том чтобы в текстовое поле отправить символ.
Проблема в том что есть действие запрограммированное на нажатие "P" - ставить на паузу.
Это действие успешно реализуется в активном окне, но не удается - в не активном окне.
В неактивном окне - смог только отправить "p" в поле чата, если его предварительно активировать. Но это -не цель. :(
Может есть другой способ ?
 
Верх