0

我在 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

4

1 回答 1

0

只需调用 PostMessage。以下是 c/c++ 中的示例:

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

于 2012-01-09T15:11:16.397 回答