Управление программой с помощью мыши и клавиатуры на с# на удаленном сервере

Регистрация
10.07.2014
Сообщения
108
Благодарностей
6
Баллы
18
Всем привет. Возник такой вопрос, есть сервер на Windows Server 2008, на ней работает прога (старая, написанная ещё на VB и скомпилированна в .exe + ещё защищены некоторые блоки с функциями, декомпиляция не особо помогла), можно ли с помощью c# сделать программу, которая будет в консольном режиме, сама запускаться, запускать эту прогу, по алгоритму осуществлять клики и набор текста на клавиатуре, а затем закрывать программу? Про то, что управление мышью можно сделать с помощью SendMessage (user32.dll вроде) знаю, но вот будет ли все это работать, так как это работает, как я понял только если эта программа "физически" видна, можно ли как-то обойти это? . Заранее спасибо за ответы.
 

DmitryAk

Client
Регистрация
14.12.2016
Сообщения
860
Благодарностей
824
Баллы
93
Регистрация
10.07.2014
Сообщения
108
Благодарностей
6
Баллы
18

DmitryAk

Client
Регистрация
14.12.2016
Сообщения
860
Благодарностей
824
Баллы
93
Ловим хэндл окна по процессу или по заголовку и дальше работаем с ним через SendMessage/PostMessage. Куда уж подробнее то?)
 
  • Спасибо
Реакции: Quadrollionaire
Регистрация
10.07.2014
Сообщения
108
Благодарностей
6
Баллы
18
Ловим хэндл окна по процессу или по заголовку и дальше работаем с ним через SendMessage/PostMessage. Куда уж подробнее то?)
нет, это понятно и раньше было) Тут вопрос именно в том, что на windows server заведется это?

UPD. Если "врубить/подключить" Desktop Extension, то будет работать практически также как и на обычной десктопной версии винды. Без этого, не работает (не будет работать) управление мышью и подобные действия для эмуляции. Источник: дебри документации Server-а, user32.dll и т.д (+ знакомые прогеры на шарпе).
 

DmitryAk

Client
Регистрация
14.12.2016
Сообщения
860
Благодарностей
824
Баллы
93
О! Теперь ваш вопрос понятен.
Анекдот знаете? "Нет ножек - нет мультиков"? В мсдн четко ж указано "desktop apps only".
Нет оконной системы - нет сответствующих фич.
Т.е. легкие пути сразу отменяются. Как вариант может помочь dll инжект с подменой wndproc приложения донора.. Налаживаете канал связи и вызываете исходную wnproc имитируя события PostMessage которые нужны для имитации мыши/клавы.
Больше особо ничего в голову не приходит.
 
  • Спасибо
Реакции: Quadrollionaire
Регистрация
10.07.2014
Сообщения
108
Благодарностей
6
Баллы
18
То есть Desktop Extension (Experience) тоже не подойдет?) подмена wndproc приложения донора это вы говорите о любых приложениях или .net? Программа на VB написана, имеет внешний вид Access Форм + ещё и скомпилирована как VB Native Code + Code Protector (код защищен от декомпиляции).
 

DmitryAk

Client
Регистрация
14.12.2016
Сообщения
860
Благодарностей
824
Баллы
93
Desktop Extension (Experience)
Боюсь что только эксперименты могут прояснить ситуацию.
подмена wndproc приложения донора это вы говорите о любых приложениях или .net?
О любых или почти любых. Причем dll-ка инжектер не на дотнете должна быть реализована.
Программа на VB написана, имеет внешний вид Access Форм + ещё и скомпилирована как VB Native Code + Code Protector (код защищен от декомпиляции)
Когда софтина работает - она уже находится в памяти в "рабочем" виде.. в зависимости от защиты конечно, но в большинстве случаев это так. В общем тоже эксперименты..
 
  • Спасибо
Реакции: Quadrollionaire

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)