Что нового

Сделать активным окно и послать в него текст атомарно

mhoch

Новичок
Сообщения
2
Репутация
0
Добрый день

Задача и вопрос очень простые:
Выполняется поиск окна по заголовку, окно активируется и в него посылается текст:

Код:
$hWin = WinGetHandle("[TITLE:AnyTitle]")
WinActivate($hWin)
Send("AnyText")



Проблема в том что на рабочем столе во время выполнения скрипта могут "появляться" активные окна, тогда текст посылается в них, очевидно что после активации нужного мне окна одно из всплывающих окон "делает себя активным" что недопустимо.

Как можно сделать окно активным и послать в него текст так чтобы во время выполнения этих двух операций никакое другое окно не могло стать активным? Так чтобы операция "Сделать активным окно и послать в него текст" была "атомарной"?

Спасибо
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
не знаю как "атомарно", но знаю, что на форуме хороший поиск. сразу выдаст кучу ссылок на решение
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Код:
ControlSetText

активность окна отдыхает :smile:
 
Автор
M

mhoch

Новичок
Сообщения
2
Репутация
0
joiner сказал(а):
Код:
ControlSetText

активность окна отдыхает :smile:

Спасибо, но приложение написано на QT и контролов, к сожалению, не видно.

SendKeepActive() - в самый раз.

Спасибо
 
Верх