Отправка результата с помощью EndDialog Win32API в .NET - PullRequest
0 голосов
/ 09 января 2012

Я использую некоторую автоматизацию в программе на C # (.Net 4.0). Существует проблема с модальным диалоговым окном, в котором я хочу убрать сообщение и продолжить тестирование. Я пробовал несколько вариантов (SendKey и использование Win32 для отправки события клика с измененным кодом отсюда: http://msdn.microsoft.com/en-us/magazine/gg309183.aspx. Ни один из них не оказался достаточно надежным, чтобы считаться эффективным.

Мой следующий подход - попытаться вызвать функцию EndDialog () из моей программы на C # и просто отправить код перечисления / возврата в окно сообщения.

EndDialog (HWND hDlg, INT_PTR nResult) - это вызов, где hDlg - дескриптор закрытия окна сообщения, а nResult - результат диалога.

Когда я сталкиваюсь с проблемой, как отправить желаемый результат. Примером может служить то, что код возврата IDCANCEL имеет значение 2. Как именно я отправляю это значение? Какие переменные или константы мне нужно объявить? Я просто ищу, как получить правильный указатель, объявленный для отправки желаемого результата в функцию.

Дополнительную информацию об этих значениях результатов можно найти здесь http://msdn.microsoft.com/en-us/library/windows/desktop/ms645505(v=VS.85).aspx

1 Ответ

0 голосов
/ 09 января 2012

просто вызовите PostMessage. Вот пример на языке c / c ++:

:: PostMessage (hWnd, WM_COMMAND, MAKEWPARAM (IDCANCEL, BN_CLICKED), 0);

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