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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Как с помощью Скрипта С/С++ открывать программу и вносить в нее изменентя

Ответить
Настройки темы
C/C++ - Как с помощью Скрипта С/С++ открывать программу и вносить в нее изменентя

Аватара для anatolii_fedorov@vk

Новый участник


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

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


Изменения
Автор: anatolii_fedorov@vk
Дата: 24-09-2014
Посоветуйте что-то или помогите решить следующую задачу, для меня это абсолютно ново:

Есть программа, которая работает с электронными устройствами защит (SOFT):

- необходимо ее запускать (путь - C:\Programm Files\SOFT\soft.exe);
- программа имеет структуру проводника Windows, необходимо обратиться к одному из каталогов в дереве (Project\North Region\Substation);
- внутри этого каталога находится устройство защиты (иконка - Device);
- если ее открыть вручную, то открывается окно в котором необходимо выбрать вариант связи с устройством (например - Ethernet).

Для начала хотя бы эти шаги, может быть на примере с какой-то другой программой.
Спасибо.

Отправлено: 18:17, 24-09-2014

 

Ветеран


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

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


Сомневаюсь, что задача решается на VBS, а на C ее решить возможно.
Запуск делает функция system(путь)
1. Получение HWND запускаемой программы (поиск перечислением процессов)
2. Получение HWND контролов, которые есть в программе
Делается имитация выбора(в зависимости от того, какой контрол)

-------
Ehhh.. what's up, doc?..

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:10, 24-09-2014 | #2



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

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


Аватара для Coutty

Кот Ти


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

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


Для подобных целей создали скриптовый язык AutoIT. Почитайте документацию - там есть конкретные примеры как сделать "Запуск программы, ожидание открытия окна, совершение действий".
Это сообщение посчитали полезным следующие участники:

Отправлено: 05:30, 25-09-2014 | #3


Аватара для anatolii_fedorov@vk

Новый участник


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

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


Вопрос по 1 и 2, как выполняется получение этого HWND и поиск. Если знаете может ссылку на пример...

Отправлено: 10:41, 25-09-2014 | #4


Ветеран


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

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


anatolii_fedorov@vk, начните с прочтения локализованной документации AutoIt. Особливо этого:
Заголовки и текст окон (основы)
Заголовки и текст окон (дополнительно)
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:58, 25-09-2014 | #5


Ветеран


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

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


Пример на С

Код: Выделить весь код
#include <windows.h>
#include <stdio.h>

#pragma comment(lib,"user32.lib");
#pragma comment(lib, "kernel32.lib");
#pragma comment(lib, "gdi32.lib");

BOOL CALLBACK eproc2(HWND hwnd, LPARAM l)
{
char c[1024];
printf("eproc2: %x\t", hwnd);
GetWindowText(hwnd, c,1020);
printf("%s\n", c);
return 1;
}

BOOL CALLBACK eproc1(HWND hwnd, LPARAM l)
{
LPARAM l1;
char c[1024];
printf("eproc1: %x\t", hwnd);
GetWindowText(hwnd, c, 1020);
printf("%s\n", c);
EnumChildWindows(hwnd, &eproc2, l1);
return 1;
}

int main()
{
LPARAM l;
EnumWindows(&eproc1, l);
}
подобным можно получить хэндл окна и хэндл контролов в окне, а имитацию нажатия можно сделать функцией SendMessage, у которой первым параметром является хэндл окна, вторым тип сообщения, третьим wParam сообщения, четвертым lParam сообщения.

Клик мышью в контроле осуществляется сообщениями WM_LBUTTONDOWN и WM_LBUTTONUP.

-------
Ehhh.. what's up, doc?..


Отправлено: 10:18, 08-10-2014 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Как с помощью Скрипта С/С++ открывать программу и вносить в нее изменентя

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Как с помощью скрипта создать архив с динамичным названием учитывая нужные критерии yaoleg2 Скриптовые языки администрирования Windows 15 08-11-2013 14:16
VBS/WSH/JS - как воспроизвести звук с помощью скрипта в Windows 7 Melkii Скриптовые языки администрирования Windows 3 14-08-2012 10:01
Подскажите программу и ссылку на нее(Контороль за электронной почтой) Seris_2 KPP Программное обеспечение Windows 2 09-12-2007 17:10
[решено] Как создать учетные записи с помощью скрипта? fm72 Microsoft Windows NT/2000/2003 4 29-09-2005 14:01
Как создать файл с помощью CGI скрипта. lehha Программирование и базы данных 1 20-11-2003 09:48




 
Переход