Ответ 1
Посмотрите ManagedSpy, исходный код. (ссылка)
Мне нужно очистить данные из приложения Windows, чтобы выполнить запрос в другой программе. Кто-нибудь знает хорошую отправную точку для меня сделать это в .NET?
Посмотрите ManagedSpy, исходный код. (ссылка)
Возможно, вы захотите заглянуть в сообщение WM_GETTEXT. Это может быть используемый для чтения текста из других окон - это архаичная часть Windows API, а если вы находитесь на С# вам нужно p/invoke для него.
Посмотрите эту страницу для примера этого в С#.
В принципе, вы сначала FindControlEx(), чтобы получить дескриптор окна, которое вы хотите (по заголовку).
Во-вторых, вы рекурсивно перечислите элементы управления в этом окне с помощью EnumChildWindows(), чтобы найти все дочерние элементы окна и все эти дочерние дети до тех пор, пока у вас не будет полной карты целевой формы.
Вот выбранная часть отличное объяснение Theta-g от Google Answers:
Чтобы получить содержимое любого текстового поля или элемента управления списком, все, что нам нужно, это дескриптор окна. Если вы уже получили дескриптор окна, перейдите к части 2 объяснения.
ЧАСТЬ 1: Получение дескриптора управления
ЧАСТЬ 2: Чтение содержимого элемента управления
"Возможно, вы сможете использовать System.Diagnostics.Process.GetProcessesByName(" ProcName ") и получить главный дескриптор окна, оттуда вы можете использовать win32 API для получите дескриптор текстового поля, который будет использоваться для отображения нужного вам текста. С помощью дескриптора текстового поля вы можете получить или установить содержимое. я нет whiz с win32 API, но с небольшим количеством исследований я смог для выполнения аналогичных задач. Надеюсь, это поможет "
Взято отсюда: http://www.devnewsgroups.net/group/microsoft.public.dotnet.framework/topic1657.aspx
Кодирование Колеса как некоторая статья о том, как он смог получить информацию из Покерного приложения.
Проверьте: deconstructing-the-poker-client-1. Это может быть полезно.
screenscraperstudio.com
Он создает код VB "диалогового окна скребка".
Я еще не купил его, поэтому я мог ошибаться, но это единственный способ (не сворачивая ваш собственный обмен сообщениями Spy ++, поскольку другие избегают выше).