【发布时间】:2009-06-12 13:50:56
【问题描述】:
我想关闭一个自动弹出的对话框,但我在让它工作时遇到了一些问题。经过几年的有限使用,我的 Win32 编程有点生疏了。
我正在使用 FindWindowEx 来获取对话框的句柄和我想要单击的按钮。我的印象是发送 WM_COMMAND 到对话框,在 wParam 参数中使用按钮句柄就可以了。
Window window = Window.FindWindow("TSomeDialog", null);
Window cancelButton = Window.FindWindow("TButton", "Cancel", window);
Message message = Message.Create(window.HWnd, 0x0111, cancelButton.HWnd, IntPtr.Zero);
PostMessage(message);
public void PostMessage(Message message)
{
// Win32 API import
PostMessage(message.HWnd, message.Msg, message.WParam, message.LParam);
}
Window 是一个实现 IWin32Window 并包装了一些 Win32 API 调用的类。我已经内联了 WM_COMMAND (0x111) 的常量。
我做错了什么? :)
【问题讨论】:
标签: c# winapi button sendmessage