Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Управление окном/приложением из CMD

Ответить
Настройки темы
Любой язык - Управление окном/приложением из CMD

Пользователь


Сообщения: 62
Благодарности: 0

Профиль | Отправить PM | Цитировать


Есть приложение(exe, win_x86), выложить сюда не могу, надо узнать какие параметры запуска оно поддерживает. Если конкретнее, я бы хотел знать как имитировать нажатие мышью на кнопки окна этого приложения. Если скриптовые языки не могут помочь мне в реализации этого дела и я ошибся веткой - принимаются варианты типа C#/C++...
На крайний случай можно вычислить координаты кнопки и переместить на нее указатель мыши.

Отправлено: 21:06, 18-02-2012

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Krokodile, А):
Цитата Krokodile:
надо узнать какие параметры запуска оно поддерживает. »
и Б):
Цитата Krokodile:
я бы хотел знать как имитировать нажатие мышью на кнопки окна этого приложения »
никак не связаны между собой.

А) — скрытые параметры командной строки — можно попробовать вычислить, воспользовавшись, например, утилитой Strings от Sysinternals, либо разобрать отладчиком.

Б) — нажимать на кнопки из внешнего приложения — это, скорее, к AutoIt/AutoHotKey.

Отправлено: 23:39, 18-02-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 62
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
никак не связаны между собой. »
ну почему же.. При запуске приложения открывается окно с интерфейсом, кнопками.. Меня интересует 1 единственная кнопка которую надо как то задействовать. Я нашел 2 способа:
1. Самый простой и логичный - призапуске программы прописать в командную строку параметр, который указал бы программе на запуск функции, используемой в этой кнопке.
2. Если 1й способ не помог - придется реализовать это "механически", то есть с имитировать нажатие мыши на данную кнопку.

Цитата Iska:
Strings от Sysinternals ... AutoIt/AutoHotKey»
спасибо, буду пробовать.

Последний раз редактировалось Krokodile, 19-02-2012 в 09:38.


Отправлено: 09:32, 19-02-2012 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Krokodile:
1. Самый простой и логичный - призапуске программы прописать в командную строку параметр, который указал бы программе на запуск функции, используемой в этой кнопке. »
Если подобное не было предусмотрено при создании приложения — Вы ничего не сможете сделать таким образом. К сожалению, Вы не захотели озвучить название приложения.
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:50, 19-02-2012 | #4


Пользователь


Сообщения: 62
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
Если подобное не было предусмотрено при создании приложения — Вы ничего не сможете сделать таким образом. К сожалению, Вы не захотели озвучить название приложения. »
спасибо и на этом, буду пилить в сторону AutoIt

Отправлено: 09:54, 19-02-2012 | #5


Ветеран


Contributor


Сообщения: 2728
Благодарности: 1697

Профиль | Отправить PM | Цитировать


Можно запустить Ваше приложение vbs-скриптом и сымитировать в скрипте нажатие клавиш, единственное,надо знать последовательность их нажатия. Как пример, вот vbs-скрипт, запускающий блокнот (notepad.exe) с параметром - именем несуществующего файла (здесь kuku.txt). В результате блокнот выйдет на запрос о создании файла.
В первом примере скрипт "нажмёт" дважды правую стрелку и Enter (имитируем нажатие клавиши "Отмена"), файл не создастся, блокнот закроется. Перед нажатием последовательности клавиш подождем 5 сек, чтобы блокнот успел загрузиться
Код: Выделить весь код
Set WS = CreateObject("WScript.Shell")
Ret = WS.Run("C:\WINDOWS\system32\notepad.exe kuku.txt", 1, False)

WScript.Sleep 5000            		' Пауза в 5 сек
WS.SendKeys "{RIGHT}{RIGHT}{ENTER}"  	' Жмём дважды правую стрелку и Enter
Во втормм -скрипт пошлёт Enter, чтобы нажать клавишу запроса (файл создастся), затем скрипт закроет блокнот. Перед нажатием Enter подождем 5 сек, чтобы блокнот успел загрузиться, и перед Alt+F4 тоже подождём 5 сек, чтобы увидеть результат
Код: Выделить весь код
Set WS = CreateObject("WScript.Shell")
Ret = WS.Run("C:\WINDOWS\system32\notepad.exe kuku.txt", 1, False)

WScript.Sleep 5000            ' Пауза в 5 сек
WS.SendKeys "{ENTER}"         ' Жмём Enter

WScript.Sleep 5000            ' Пауза в 5 сек
WS.SendKeys "%({F4})"         ' Жмём Alt F4
Способ не годится для MS-Dos приложений

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 19-02-2012 в 11:48.


Отправлено: 11:30, 19-02-2012 | #6


Пользователь


Сообщения: 62
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата megaloman:
Можно запустить Ваше приложение vbs-скриптом и сымитировать в скрипте нажатие клавиш »
да, хотел так сделать, но приложение имеет свой интерфейс и при нажатии ентер ничего не происходит(перебор элементов интерфейса по tab тоже не принес результата). Поэтому придется все же имитировать нажатие мыши.

Отправлено: 11:46, 19-02-2012 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Управление окном/приложением из CMD

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
перехват кнопок неактивным окном knebu AutoIt 1 10-01-2012 00:24
[решено] Помогите с GUI окном Centrinar AutoIt 1 04-06-2010 19:51
[решено] Управление консольным... скрипт-приложением semiono AutoIt 1 07-04-2009 09:27
Помогите с диалоговым окном ! Stacke Microsoft Windows 2000/XP 1 12-01-2007 00:07
Решено | Управление с помощью cmd Traktorist Microsoft Windows 2000/XP 2 04-05-2006 17:14




 
Переход