Как я могу получить дескриптор окна просмотра в Visual C ++ - PullRequest
0 голосов
/ 31 декабря 2011

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

, поэтому, пожалуйста, любой может мне помочь или привести простой пример для этого.Я новичок в Visual C ++ и Windows API

Спасибо.

1 Ответ

3 голосов
/ 31 декабря 2011

Звоните EnumChildWindows. Для каждого HWND, который передается вашей функции обратного вызова, вызовите GetWindowText, чтобы узнать заголовок окна. Один из них, помеченный как «Открыть», является диалоговым окном открытия файла.

Вам также следует ознакомиться со Spy ++ и его функцией поиска. Это инструмент, который поставляется с Visual Studio (и, вероятно, с дистрибутивами VC ++ - или приобретается отдельно). Это позволяет вам щелкнуть любое окно, чтобы узнать его свойства - включая имя класса, стили окна, дочерние окна и родительское окно. Очень полезно для выяснения отношений родитель / потомок различных окон и кнопок.

Кроме того, в большинстве унаследованных приложений каждое поле редактирования, кнопка и виджет пользовательского интерфейса являются собственными HWND. Новые приложения могут не иметь своих виджетов пользовательского интерфейса в качестве дочерних окон. В этом случае вам нужно взглянуть на использование API специальных возможностей Windows и API автоматизации пользовательского интерфейса Windows .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...