我在 C# 程序(.Net 4.0)中运行一些自动化。模态对话框存在问题,我想在其中单击消息并继续测试。我尝试了几个选项(SendKey 和使用 Win32 发送点击事件,代码从这里修改:http: //msdn.microsoft.com/en-us/magazine/gg309183.aspx。这些都没有被证明是可靠的足以被认为是有效的。
我的下一个方法是尝试从我的 C# 程序中调用 EndDialog() 函数,然后简单地将枚举/返回代码发送到消息框。
EndDialog(HWND hDlg, INT_PTR nResult) 是调用,其中 hDlg 是正在关闭的消息框的句柄,nResult 是对话框的结果。
我遇到的问题是如何发送所需的结果。一个例子是返回码 IDCANCEL 的值为 2。我究竟如何发送这个值?我需要声明哪些变量或常量?我只是在寻找如何获得声明的正确指针以将所需的结果发送到函数。
可以在此处找到有关这些结果值的更多信息http://msdn.microsoft.com/en-us/library/windows/desktop/ms645505(v=VS.85).aspx