【发布时间】:2014-01-31 20:50:40
【问题描述】:
我正在为单独的 Windows 窗体应用程序自动执行测试过程。我目前正在使用 pinvoke 与其他应用程序进行通信。在此应用程序中,有一个按钮可在单击时创建一个新的弹出窗口。
我正在成功地与按钮和字段进行通信。但是,单击按钮时,SendMessage() 后面的代码不会运行。按钮点击成功,出现窗口,但是下面的代码直到我手动关闭窗口才运行。
这是我的代码:
[DllImport("user32.dll")]
public static extern int SendMessage(IntPtr hwnd, int wMsg, IntPtr wParam, IntPtr lParam);
.
buttonHandle = FindWindowEx(parentHandle, new IntPtr(0), new IntPtr(0), windowTitle);
SendMessage(childHandle, BM_CLICK, new IntPtr(0), "");
MessageBox.Show("This won't show until I close the window");
一切正常,除了 SendMessage() 之后出现的任何代码行,直到我关闭单击按钮时创建的新窗口。
谁能帮忙解释一下这里可能发生了什么?
谢谢!
【问题讨论】:
标签: c# pinvoke sendmessage