Еще один о Win32 Vs UI Automation - PullRequest
       16

Еще один о Win32 Vs UI Automation

0 голосов
/ 10 октября 2011

Я создаю (веб-приложение / приложение WinForms, которое я еще не определил), и у меня запущено простое приложение WinForms, к которому я никак не могу получить доступ через свое новое приложение, и я просто хочу прочитать некоторые значения возможно, отредактируйте некоторые значения (метки, кнопки, некоторые мелочи). поэтому я использовал Spy ++, как советовали в этот вопрос .

Итак, я смог увидеть значения, которые мне нужно прочитать / отредактировать с помощью этого замечательного инструмента. и я смог отредактировать некоторые значения (например, «Скрыть», «Снять отметку», «Отключить» и т. д. на некоторых ярлыках и кнопках), и они отразились на приложении.

Итак, я хочу перейти к следующему шагу, и мне сообщили, что у меня есть два варианта. Будь то Win32 или UI Automation. Я не имею ни малейшего понятия о них обоих, поэтому было бы неплохо дать небольшое руководство.

У меня есть еще 3 вопроса по этой проблеме:

  1. , что лучше использовать против WinForms и почему?

  2. и можно ли использовать любую из двух опций через WebApplication или обе опции должны быть реализованы в приложении WinForms?

  3. Имеет ли какой-либо из этих параметров ограничение при редактировании значений?

1 Ответ

0 голосов
/ 28 июня 2012

(Если вы все еще ищете ..)

Это зависит от того, что вам знакомо.Кроме того, в целом, я думаю, UI Automation немного проще, поскольку для Wind32SDK вам нужно использовать много пинвока и тому подобного, что, вероятно, не так просто для чистых людей .net.

Для Win32, http://www.pinvoke.net/default.aspx/ - это действительно лучшее место для начала, которое дает вам все подписи и некоторые примеры кода.

Для автоматизации пользовательского интерфейса также есть множество мест, где можно начинать с большого количества образцов.Одним из многих является http://blogs.msdn.com/b/winuiautomation/.

Также обратите внимание, что они несопоставимы по мощности и удобству использования.Как уже говорилось, автоматизация пользовательского интерфейса более естественна, Win32 также позволяет получить доступ ко многим значениям, которые вы не можете получить с помощью автоматизации.Я думаю, что UI Automation в основном доступна только для чтения.

Интересно включить / отключить кнопку в стороннем приложении.Когда я узнал, что это часто работает, я подумал использовать его на каком-либо защищенном коммерческом продукте (на котором просто отключены кнопки «pro»), просто чтобы проверить, есть ли дополнительная защита. :) Это также означает, что если вы хотитечтобы иметь такую ​​функцию в вашем приложении, знайте, что пользователь всегда может сделать видимым скрытый элемент или включить отключенный.

...