2010-12-11 1 views
0

Например, я получил WinForm с кнопками на нем. Можно ли нажать эту кнопку из другого процесса? Я хочу сделать что-то вроде виртуального браузера Webrat для платформы тестирования Cucumber, но для настольных приложений.C# Можно ли эмулировать нажатие кнопки в форме процесса из другого процесса?

ответ

3

Вы хотите взглянуть на довольно новую структуру Microsoft: UI Automation и here.

Это может сделать WPF очень хорошо, но также работает с WinForm.

0

Благодаря всему WinForms управлений являются оберткой управления Win32, вы можете использовать Spy инструмент ++ для извлечения неуправляемой ручки underlied управления (кнопок, текстовые поля и т.д.) с помощью текстовых свойств и других признаков, а затем, использовать родную win32 вызовов для отправки пользовательского события для этого контроля, такие как MouseClick, MouseMove и т. д. Рассмотрим http://pinvoke.net для более точной информации о методе P/Invoke в C#.