Что нового

[Мышь, клавиатура] нажатие клавиши в неактивном окне

CanNot

Кипятильнек
Сообщения
14
Репутация
0
Я даже не чайник в Autoit, а даже кипятильник :smile:

В общем проблема такая:
1.Существует программа "Х"
2.Существует утилита "У" к программе "Х", которая стоит дорого :smile:, но работает в демо режиме 15 минут и запускается через хоткей PGDN.
Суть в том чтобы заставит скрипт перезапускать "У" через 15 минут и заставлять его нажимать Page Down...


Код:
WinActivate("Х")
Sleep(300)
Run('E:\Y.exe')
Sleep(300)
ControlSend("Y", "","[CLASS:Edit; INSTANCE:1]", "{PGDN}")
Sleep(60000)

P.S. Просьба палками не бить и матом не ругать ;D
 
Автор
CanNot

CanNot

Кипятильнек
Сообщения
14
Репутация
0
Re: [Мышь, клавиатура] нужна помощь! отправка в неактивное окно

Возникает небольшая трабла, утилка существует как подключаемый модуль независимо от проги, т.е. я ранаю саму прогу потом ранаю утилиту
, затем посылаю утилите PGDN (ВСЁ ЭТО ИДЁТ В НЕАКТИВ, Т.К. я ЮЗАЮ САМУ ПРОГУ) она работает 10-15 минут затем независимо от проги выключается а дальше по циклу
Код:
Run("X")
Hotkeyset("^c", "ex") ; задаем хоткей для выхода
WinActivate("Х")
Sleep(300)
While 1 ; запускаем бесконечный цикл
Run("Y")
WinActivate("Y")
Send("{PGDN}") ; это мы активируем нашу утилиту!!!
Sleep(15 * 60000) ; это мы ждем 15 минут
ProcessClose("y.exe"); это мы ее прибили на всякий случай
Sleep(1000) ; это мы подождали, пока она прибьется
WEnd ; и все сначала. Выходим по Ctrl-c
Func ex()
    Exit
EndFunc

А может так?


P.S. Утилитка 40 баков стоит я удавлюсь платить этим буржуям =)
 
Автор
CanNot

CanNot

Кипятильнек
Сообщения
14
Репутация
0
Re: [Мышь, клавиатура] нужна помощь! отправка в неактивное окно

qsort сказал(а):
Ну, может, и так... Я ж не знаю, есть у нее окно свое, нет, нуждается она в активации, нет...
Навскидку, похоже. WinActivate("Y"), на всякий случай, это ждем активации окна нашей дорогой утилиты. Если это надо, значит надо. На месте-то, видней...

Своё окно имеется, там вложенные функции лежат и атктивица через PGDN

Я сам то х.з. малёхо форум почитал че то понял че то нет...

Тыкнуть мышей низзя ибо некуда, там только хоткей...
 
Автор
CanNot

CanNot

Кипятильнек
Сообщения
14
Репутация
0
Re: [Мышь, клавиатура] нужна помощь! отправка в неактивное окно

Код:
Run('calc.exe')
WinWaitActive('Calculator', '', 3)
$hWnd1 = WinGetHandle('Calculator')
WinMove($hWnd1, '', 50, 50)

Run('notepad.exe')
WinWaitActive('Untitled - Notepad', '', 3)
$hWnd2 = WinGetHandle('Untitled - Notepad')
WinMove($hWnd2, '', 120, 150)

WinSetState($hWnd1, '', @SW_DISABLE)
Sleep(500)
ControlClick($hWnd1, '', '[CLASS:Button; INSTANCE:7]')
Sleep(500)
ControlClick($hWnd1, '', '[CLASS:Button; INSTANCE:11]')
Sleep(500)
ControlClick($hWnd1, '', '[CLASS:Button; INSTANCE:15]')
WinSetState($hWnd1, '', @SW_ENABLE)

Можно еще попробовать на этом замешат т.к. PGDN надо активировать из окна проги...
 
Автор
CanNot

CanNot

Кипятильнек
Сообщения
14
Репутация
0
Re: [Мышь, клавиатура] нужна помощь! отправка в неактивное окно

Код:
Run("X")
Hotkeyset("^c", "ex") ; задаем хоткей для выхода
WinActivate("Х")
Sleep(300)
While 1 ; запускаем бесконечный цикл
Run("Y")
WinActivate("Y")
Send("{PGDN}") ; это мы активируем нашу утилиту!!!
Sleep(15 * 60000) ; это мы ждем 15 минут
ProcessClose("y.exe"); это мы ее прибили на всякий случай
Sleep(1000) ; это мы подождали, пока она прибьется
WEnd ; и все сначала. Выходим по Ctrl-c
Func ex()
    Exit
EndFunc

Лажа виснет когда нада сказать PGDN...
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
Re: [Мышь, клавиатура] нужна помощь! отправка в неактивное окно

CanNot
теги ставить для AutoIT скриптов надо кнопкой (черный значок AutoIt) и что за "ранаю" и "х.з." ?! :smile: попробуй так:
Код:
Run("X")
Hotkeyset("^c", "ex") ; задаем хоткей для выхода
WinActivate("Х")
Sleep(300)
While 1 ; запускаем бесконечный цикл
$pid = Run("Y")
ProcessWait($pid)
WinActive("Y")
WinWaitActive("Y",'',10)
Send("{PGDN}") ; это мы активируем нашу утилиту!!!
Sleep(15 * 60000) ; это мы ждем 15 минут
ProcessClose($pid); это мы ее прибили на всякий случай

Sleep(1000) ; это мы подождали, пока она прибьется
WEnd ; и все сначала. Выходим по Ctrl-c
Func ex()
    Exit
EndFunc
 
Автор
CanNot

CanNot

Кипятильнек
Сообщения
14
Репутация
0
Re: [Мышь, клавиатура] нужна помощь! отправка в неактивное окно

Guezt Gutsy сказал(а):
CanNot
теги ставить для AutoIT скриптов надо кнопкой (черный значок AutoIt) и что за "ранаю" и "х.з." ?! :smile: попробуй так:
Код:
Run("X")
Hotkeyset("^c", "ex") ; задаем хоткей для выхода
WinActivate("Х")
Sleep(300)
While 1 ; запускаем бесконечный цикл
$pid = Run("Y")
ProcessWait($pid)
WinActive("Y")
WinWaitActive("Y",'',10)
Send("{PGDN}") ; это мы активируем нашу утилиту!!!
Sleep(15 * 60000) ; это мы ждем 15 минут
ProcessClose($pid); это мы ее прибили на всякий случай

Sleep(1000) ; это мы подождали, пока она прибьется
WEnd ; и все сначала. Выходим по Ctrl-c
Func ex()
    Exit
EndFunc

Щас испробуемс :smile: Run(аю) это запускаю, а х.з. это всемирный сговор ;D
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
Re: [Мышь, клавиатура] нужна помощь! отправка в неактивное окно

CanNot
Предупреждение За нарушение общих правил (пункт В.8):
Так как эта конференция называется "Русское сообщество AutoIt", язык общения на ней - Русский. Названия фирм или программных продуктов, аббревиатуры и т.д. должны быть написаны так, как они пишутся в оригинале, например не следует писать УСБ вместо USB. На форуме крайне не рекомендуется намеренно искажать русский язык и использовать "сетевой жаргон" на подобии "Аффтар выпей йадау!".


С уважением, Модератор форума.




Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit] (подробнее), а обычный код соответственно в тег [code] (подробнее). Также большие выдержки текста помещайте под тег [spoiler] (подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, Модератор форума.





Для кода AutoIt это тег:
Код:
[autoit][/autoit]
В редакторе - это черненькая кнопочка с логотипом AutoIt.
 
Автор
CanNot

CanNot

Кипятильнек
Сообщения
14
Репутация
0
Re: [Мышь, клавиатура] нужна помощь! отправка в неактивное окно

Спасибо, будем блюсти правила =)
 
Автор
CanNot

CanNot

Кипятильнек
Сообщения
14
Репутация
0
Re: [Мышь, клавиатура] нужна помощь! отправка в неактивное окно

Скрипт остановился на команде
Код:
Send
:(
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
Re: [Мышь, клавиатура] нужна помощь! отправка в неактивное окно

CanNot

CanNot [?]
на команде сенд
-
Код:
Send
- Вам, вообще наплевать на правила и предупреждения?

A PageDown там что делает в окне-то? скрывает, окно какое или что? вообще можно скрин окна и информацию с au3Info глянуть?
 
Автор
CanNot

CanNot

Кипятильнек
Сообщения
14
Репутация
0
Re: [Мышь, клавиатура] нужна помощь! отправка в неактивное окно

3fd4ccd6a67f.png


Напоминаю я новичек и мне не знакомо такое понятие, как au3Info.
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
Re: [Мышь, клавиатура] нужна помощь! отправка в неактивное окно

AutoIt Windows Info - утилита, с помощью которой можно узнать технические параметры окна или управляющих жлементов программы. Запустить можно через ярлык в меню "Пуск" (AutoIt Windows Info или Au3Info). Или через исполняемый файл, например:
C:\Program Files\AutoIt3\Au3Info.exe
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
Re: [Мышь, клавиатура] нужна помощь! отправка в неактивное окно

CanNot
а когда ее запускаешь сразу после основной программы надо жать Page Down ? или она стартует автоматически ?
au3Info - утилита Windows Info идет в дистрибутиве AutoIt с ним же и устанавливается запусти можно так:
Код:
Run('au3info.exe')
- параметр Freeze в закладке Option надо снять галочку.
а когда ее запускаешь сразу после основной программы надо жать Page UP ? или она стартует автоматически ?
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
Re: [Мышь, клавиатура] нужна помощь! отправка в неактивное окно

Guezt Gutsy
OffTopic:
Если Au3Info.exe есть в x:windows\system32
 
Автор
CanNot

CanNot

Кипятильнек
Сообщения
14
Репутация
0
Re: [Мышь, клавиатура] нужна помощь! отправка в неактивное окно

Получается программа после запуска 2-3 секунды "думает", потом можно жать на Page Down (в окне ОСНОВНОЙ программы) Т.е. команда Page Down посылается в неактивное окно.
 
Автор
CanNot

CanNot

Кипятильнек
Сообщения
14
Репутация
0
Re: [Мышь, клавиатура] нужна помощь! отправка в неактивное окно

Как правильно выложить информацию с au3Info?
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
Re: [Мышь, клавиатура] нужна помощь! отправка в неактивное окно

`p r o x y сказал(а):
Guezt Gutsy
OffTopic:
Если Au3Info.exe есть в x:windowssystem32
необязательно (у меня нет, но работает) достаточно этого ключа в реестре :
Код:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Au3Info.exe]
а он прописывается при установке дистрибутива AutoIt :smile:
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
Re: [Мышь, клавиатура] нужна помощь! отправка в неактивное окно

1) Запустить Au3Info.
3) Нажать левой кнопкой мышки на изображение с прицелом и перенсти его на нужное коно/управляющий элемент окна (кнопку и т.д., т.п.)
4) Открыть в Au3Info вкладку "Summary"
5) Скопировать все, что есть.
6) Вставить в новоее сообщение на форуме, например в тег: code

Guezt Gutsy
Не все так шеколадно. У меня при установки, ключ не был прописан (windows 7 x64)
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
Re: [Мышь, клавиатура] нужна помощь! отправка в неактивное окно

OffTopic:
`p r o x y
7-ка нам только снится вместе с новым железом ;D
 
Верх