Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 18.06.2019, 06:34   #1
gusluk
Форумчанин
 
Аватар для gusluk
 
Регистрация: 16.10.2008
Адрес: Владивосток
Сообщений: 203
Репутация: 62
По умолчанию Виртуальное нажатие кнопки

Есть необходимость автоматизировать работу одного устройства. Много работы уже сделано но уперся в необходимость запускать на устройстве некий процесс. Для этого существует специальная программа, которая устанавливается на пк, затем к пк подключается устройство, и в программе нажимается кнопка. Дальше устройство работает самостоятельно и не требует никаких манипуляций. Т.к. в программе API функций не предусмотрено решил кнопку нажимать виртуально используя
Код:
SetCursorPos(x,y);
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
либо
Код:
 postmessage(FindWindowEx(FindWindow('программа', nil), 0, 'Начать', nil),WM_LBUTTONDOWN,0,x + y);
 postmessage(FindWindowEx(FindWindow('программ', nil), 0, 'Начать', nil),WM_LBUTTONUP,0, (x + y);
Оба метода работают на любых других программах кроме нужной, даже если нужная программа запущена но не активна, как только эта программа активируется оба метода перестают работать, курсор не передвигается, кнопки не нажимаются.
Может кто подскажет, с чем это может быть связано и как обойти? Это защита программы или особенности ее разработки?
Программа: https://yadi.sk/d/fJhUpfIrwKIM5g
gusluk вне форума   Ответить с цитированием
Старый 18.06.2019, 07:29   #2
gusluk
Форумчанин
 
Аватар для gusluk
 
Регистрация: 16.10.2008
Адрес: Владивосток
Сообщений: 203
Репутация: 62
По умолчанию

При том через TeamViewer программа управляется нормально.
П.С. все делается под Win7
П.П.С. решение оказалось тривиальным, мою программу надо запускать от имени администратора.

Последний раз редактировалось gusluk; 18.06.2019 в 07:57.
gusluk вне форума   Ответить с цитированием
Старый 21.06.2019, 08:19   #3
taras-proger77
Форумчанин
 
Регистрация: 17.12.2018
Сообщений: 419
Репутация: -121
По умолчанию

Протокол девайса известен? А софтина чья? Исходник Вам доступен? Может лучше переписать сразу под реально стоящую задачу, а не городить двух роботов, один из которых должен шпынять другого?
taras-proger77 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нажатие кнопки megostudent Общие вопросы Delphi 9 26.09.2011 11:11
While (нажатие кнопки) azhell Общие вопросы Delphi 1 09.08.2011 23:23
нажатие кнопки beygul Помощь студентам 2 30.01.2010 22:34
На нажатие кнопки access6472043 Microsoft Office Access 2 29.11.2009 16:08
нажатие кнопки xakkkkker Работа с сетью в Delphi 1 20.11.2008 02:08


19:41.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.