Я использую некоторую автоматизацию в программе на 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