Я играл с Microsoft Spy ++ и замечал, что он не только обнаруживает открытые процессы, но и может находить отдельные компоненты, работающие в каждом процессе. Например, есть это приложение, которое позволяет вам открыть окно, в котором есть текстовое поле для IP-адреса и текстового поля для порта. Spy ++ может обнаруживать эти компоненты. Зная, что Spy ++ может их обнаружить, есть ли возможность найти их в отдельном приложении C# и продолжать изменять их содержимое и в противном случае взаимодействовать с программой? (например, стрельбы одним нажатием кнопки)взаимодействует с внешним приложением в C#
ответ
Это возможно. Попробуйте использовать PInvoke (InterOp) или AutomationElement, или AutomationPeer (для приложений WPF), чтобы автоматизировать все, что вы хотите сделать.
элементы автоматизации/равный является неразрушающим механизм для управления пользовательского интерфейса с помощью рамки доступности. Одной из слабых сторон в окнах является отсутствие защиты от инъекции кода. Проще говоря:
Как привилегированный пользователя, - Вы можете открыть и изменить ход процесса изображение - Сделать это загрузить свои собственные DLL
- Сделать это запустить свой собственный поток (который потенциально слушает команды из процесс) и - позволяет вам считывать любые бит памяти, которые вы хотите.
Посмотрите на объездные пути (http://research.microsoft.com/en-us/projects/detours/), как это сделать с управляемыми процессами .. К сожалению, Microsoft удалила инъекцию во время выполнения.
Также обратите внимание на http://msdn.microsoft.com/en-us/magazine/cc163617.aspx делать вещи в управляемом мире (приложения, такие как Snoop использовать это)
- 1. Управление внешним приложением через C#
- 2. взаимодействует с консольным приложением с помощью java
- 3. Invoke Перспектива с внешним приложением
- 4. Редактирование заметок с внешним приложением
- 5. Слушайте cmd.exe внешним приложением
- 6. Как узнать, взаимодействует ли пользователь с приложением
- 7. узел js взаимодействует с приложением оболочки
- 8. Открытие объекта изображения с внешним приложением в C#
- 9. Проблема с WebBrowser1 с внешним веб-приложением
- 10. Javascript взаимодействует с C++
- 11. Кварцевые планировщики, управляемые внешним приложением
- 12. Открыть файл с внешним назначением/Приложением
- 13. Общайтесь с внешним приложением из excel
- 14. Получение R для взаимодействия с внешним приложением
- 15. Autofac Lifetime scope с внешним приложением
- 16. Взаимодействие с внешним приложением изнутри кода (Golang)
- 17. Показать локальный PDF-файл с внешним приложением
- 18. Как управлять внешним исполняемым приложением?
- 19. Создайте плагин Firefox, который взаимодействует с нашим java-приложением
- 20. Интеграция данных между Oracle и внешним приложением?
- 21. WakeLock.release() отключает экран, даже если пользователь взаимодействует с приложением.
- 22. iOS Как узнать, когда пользователь взаимодействует с приложением?
- 23. Как обращаться с внешним консольным приложением программно? (Windows)
- 24. Связь между PCF и внешним приложением
- 25. Aspect не работает с приложением Spring boot с внешним банком
- 26. DesktopApp взаимодействует с WebApp
- 27. взаимодействует с терминалом в linux для паролей?
- 28. интеграция Liquibase не взаимодействует между командной строкой и приложением
- 29. Как отслеживать таблицу SQL Server с внешним приложением
Я бы подчеркнуть UI Automation один ('AutomationElement') и указать, что в целом удалось рамки для автоматизации (и он должен работать также и с родными и управляемыми программами, независимо от того, используют ли они WPF или что-то еще) –
Существуют ли какие-либо статьи, показывающие, как это использовать? Кроме того, будет ли это работать над приложением, написанным на VB6? – LordZardeck