Встраивание другого приложения в свое

283
20 декабря 2017, 19:25

Допустим, есть приложение, написанное на каком-то языке. Данное приложение не имеет API, но имеет некоторый интерфейс.

Как можно воспользоваться функциями данного приложения в своем незаметно для пользователя?

На ум приходит только прятанье куда-нибудь этого приложение и жудкое взаимодействие с окном через WinAPI, например биндинг кнопок на свое приложение.

Какие-нибудь еще варианты?

С .NET приложениями все более менее ясно, больше интересует работа с нативным приложением.

Answer 1

Disclaimer

Это лишь один из способов решения задачи, предполагающий некоторые допущения, не оговариваемые в вопросе. Это решение возможно не подойдет в большинстве случаев, в том числе и задавшему вопрос.

Если это .NET приложение (судя по тегам), его возможно декомпилировать с помощью таких утилит как ILSpy. Достаточно отыскать обработчики событий нажатия интересующих кнопок.

Файл .exe (если это .NET приложение) возможно подключить к .NET проекту как обычную сборку, вызывать конструкторы классов и их методы используя Reflection.

Это решение предполагает что:

  1. Используемые методы либо статические, либо экземпляры соотвествующих классов не требуют сложной инициализации.
  2. Используемые методы не требуют реакции пользователя, либо используют диалоговые окна идеально вписывающиеся в UI вашей программы.
  3. Используемые методы либо возвращают результат, либо другим желанным образом воздействуют на окружение.
  4. Это обычное не обфусцированное .NET приложение.
READ ALSO
Не создается база данных в entity framework?

Не создается база данных в entity framework?

Что может быть причиной данной ошибки?

223
Создание второго лога используя Nlog

Создание второго лога используя Nlog

Задача: создать два логаПервый для записи Info, второй для записи Errors

484
Метод касательных (Ньютона) на c#, приближенное нахождение производной

Метод касательных (Ньютона) на c#, приближенное нахождение производной

У меня программа для решения уравнения методом касательнойНа форме разместила интервал и точность, а на кнопку Вычислить нужно прописать...

252
PasswordBox C# WPF

PasswordBox C# WPF

Здрастувуйте! Как сделать чтобы при выборе CheckBox пароль скрывался и наоборот, все никак не могу понять

177