Я работаю над автоматизацией до Windows 10 с C #.
Одна из задач — записать данные в TextBox в окне под названием «Добавить исключение».
Для того, чтобы войти в это окно:
Открыть настройки => Обновить & security => Защитник Windows => Добавить исключение => Исключить расширение файла
Я понял, что мне нужно использовать SendMessage(...)
или же SetWindowText(...)
функции для записи данных в элемент управления.
Но мне нужно передать этим функциям дескриптор элемента управления, в который я хочу написать.
Так что мне нужно использовать GetDlgItem(hDlg, nIDDlgItem)
,
Параметр nIDDlgItem
это идентификатор элемента управления, но я не могу найти идентификатор элемента управления TextBox в окне «Добавить исключение».
Я использовал Spy ++, но когда я поставил целевой значок, я получил только класс «Shell_Dialog»:
У меня есть только дескриптор окна:
Мне нужен дескриптор элемента управления TextBox.
РЕДАКТИРОВАТЬ (20.6.2016):
Я пытался использовать инструмент Inspect.exe из Windows 10 Kit, но когда я помещаю curoser на элемент управления TextBox, он пишет мне «Доступ запрещен»:
Рекомендации:
SetText текстового поля во внешнем приложении. Win32 API
Inspect (Inspect.exe) — это средство на базе Windows, позволяющее выбрать любой элемент пользовательского интерфейса
Третий вариант — выбрать родительский элемент (т. Е. Диалоговое окно) для вашей кнопки (т. Е. Это будет класс Dialog) и зарегистрироваться для получения сообщений WM_COMMAND. После этого после нажатия на кнопку ID вашей кнопки в окне сообщения будет отображаться wID: XX.
Для этого мне нужно было использовать инструмент Inspect.exe с правами администратора.
Спасибо @NineBerry,
После того, как я открыл Inspect.exe от имени администратора, я смог увидеть все детали.