我有一个 C# 程序,我一直在 Windows 7 中正常运行,但现在我使用更新的浏览器升级到 Windows 10,它已停止正常工作。问题在于对话框的处理。当它弹出时,我只想关闭框。我使用了下面的代码。如果它再次弹出,代码将再次执行以将其关闭。 IntPtr hwnd = FindWindow("#32770", "Message from webpage"); if (hwnd != IntPtr.Zero) { hwnd = FindWindowEx(hwnd, IntPtr.Zero, "Button", "OK"); SendMessage(hwnd, 0xf5, IntPtr.Zero, IntPtr.Zero);现在,当弹出多个框时,会出现一个复选框,上面写着“不要让该页面创建更多消息”。上面的代码无法关闭这个框。我不确定我错过了什么。我什至不确定为什么首先会弹出此错误。如果我干预并手动单击网页上的按钮,我通常不会收到弹出窗口。但那是另一个问题。
1 回答
慕后森
TA贡献1802条经验 获得超5个赞
尝试只向WM_CLOSE窗口发送消息而不是模拟单击 OK 按钮:
IntPtr hwnd = FindWindow("#32770", "Message from webpage");
if (hwnd != IntPtr.Zero)
{
SendMessage(hwnd, 0x10, IntPtr.Zero, IntPtr.Zero);
}
- 1 回答
- 0 关注
- 77 浏览
添加回答
举报
0/150
提交
取消