1

Тема: AHK: Winspector Spy

Доброго времени суток.
Скрипту требуется произвести некоторые действия в скрытом окне (Run,, Hide). Для этого нужна функция PostMessage/SendMessage. Первый параметр понятен, а вот со вторым проблемы. Погуглив, наткнулся на Winspector Spy.
Нашел примеры, следуя им попытался найти нужный мне параметр в нужной мне программе. Не получилось :c
Прошу Вашей помощи. Программа, нужная мне: *click*
Нужные мне параметры:

  • Файл>Открыть

  • Добавить с заменой (скрин.)

Буду весьма признателен как за подробный пример работы с Winspector Spy, так и за просто параметры :]

2

Re: AHK: Winspector Spy

Demy пишет:

Программа, нужная мне: *click*

Demy, не особо хочется запускать неизвестный exe.

Файл>Открыть

Смотрите команду WinMenuSelectItem.

Добавить с заменой

Если это кнопка на тулбаре, для начала нужно посмотреть с помощью Window Spy (того, который прилагается к AHK), определяется ли этот тулбар, как ToolbarWindow32.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Winspector Spy

Можно просто послать нужные клавиши в это окно.
вот тут посылается в это окно ctrl+o (Файл>Открыть)

controlsend, ,{ctrl down}{SC018}{ctrl up},GTA: SA Crazy IMG Editor v1.0 Final

а тут кнопка ctrl+insert (Правка > Добавить с заменой)

controlsend, ,{ctrl down}{insert}{ctrl up},GTA: SA Crazy IMG Editor v1.0 Final

4

Re: AHK: Winspector Spy

yalanne, идея верная, только, во-первых, нужно учитывать, что окно скрыто, а во-вторых, всё проще можно записать. Открыть:

DetectHiddenWindows, On
ControlSend, ahk_parent, ^o, GTA: SA Crazy IMG Editor v1.0 Final
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5

Re: AHK: Winspector Spy

teadrinker, '^o' так не нажимается у меня в этой программе.

6

Re: AHK: Winspector Spy

Ну так тогда:

DetectHiddenWindows, On
ControlSend, ahk_parent, ^{vk4F}, GTA: SA Crazy IMG Editor v1.0 Final

Лучше использовать виртуальный код, сканкоды могут на разных клавиатурах отличаться, вроде.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

7

Re: AHK: Winspector Spy

Я имею введу что ctrl не успевает с кнопкой другой нажатся. Скрипт просто печатает букву 'o' в текстовое поле поиска.

8

Re: AHK: Winspector Spy

teadrinker,yalanne, премного благодарен

9

Re: AHK: Winspector Spy

yalanne пишет:

Я имею введу что ctrl не успевает с кнопкой другой нажатся. Скрипт просто печатает букву 'o' в текстовое поле поиска.

А, ну проверить не могу, в блокноте так работает. Тогда, наверное, правильно использовать ваш вариант с учётом DetectHiddenWindows, On

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

10 (изменено: Demy, 2015-05-31 20:19:54)

Re: AHK: Winspector Spy

Хм, что-то приложение не хочет hide режим...

11

Re: AHK: Winspector Spy

А как вы запускаете?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

12 (изменено: Demy, 2015-05-31 23:42:07)

Re: AHK: Winspector Spy

Run, test\GTAShWin.exe,,hide

Тут уже другая программа, т.к. ту я написал с blockinput'ом. Все равно не в hide режиму..

13

Re: AHK: Winspector Spy

Не все программы поддерживают эти параметры при запуске. Окно тогда можно скрыть позже. Только оформите код, как положено.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

14

Re: AHK: Winspector Spy

Ох...

Run, test\GTAShWin.exe,, hide
sleep 500
WinHide, GTAShrinkerWin v1.03
sleep 500  // Изменение пути к папке
send {tab}// Изменение пути к папке
sendinput %rootfolder%// Изменение пути к папке
sleep 500
Postmessage, 0x111, 1003, 0,, GTAShrinkerWin v1.03 // нажатие на кнопку shrink
sleep 2000
winshow, GTAShrinkerWin v1.03
exit

Скрин. интерфейса окна

Проблема теперь в том, что в hide режиме нажатие не срабатывает. А вот  в обычном режиме срабатывает...

15 (изменено: Demy, 2015-06-01 00:26:54)

Re: AHK: Winspector Spy

DetectHiddenWindows, On
забыл, дурак я.
Спасибо Вам за помощь

+ финальная версия (Подскажите, что оптимизировать можно)
!4::
DetectHiddenWindows, On
Run, test\GTAShWin.exe,, hide
sleep 300
WinHide, GTAShrinkerWin v1.03
sleep 500
send {tab}
sendinput %rootfolder%
sleep 500
Postmessage, 0x111, 1003, 0,, GTAShrinkerWin v1.03
sleep 1
WinHide, Shrink Progress
sleep 2000
winkill, GTAShrinkerWin v1.03
exit

16

Re: AHK: Winspector Spy

Demy пишет:
Run, test\GTAShWin.exe,, hide
sleep 300
WinHide, GTAShrinkerWin v1.03

Здесь вместо sleep 300 лучше

WinWait, GTAShrinkerWin
Demy пишет:
Postmessage, 0x111, 1003, 0,, GTAShrinkerWin v1.03

Когда публикуете код, лучше расшифровывать цифровые значения в командах (0x111 и 1003), иначе непонятно, что они делают.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

17 (изменено: Demy, 2015-06-01 01:08:30)

Re: AHK: Winspector Spy

Demy пишет:



Postmessage, 0x111, 1003, 0,, GTAShrinkerWin v1.03 // нажатие на кнопку shrink

Скрин. интерфейса окна

Спасибо, большое

18 (изменено: _gruz, 2015-06-03 08:30:40)

Re: AHK: Winspector Spy

Подскажите (не нашел подходящей темы) как можно мониторить список самих Messages (сообщений ОС и программ)? Т.е. повесить событие на Событие как бы.

P.S.: Модеры, перенесите или удалите после ответа -- OFT