如何处理“不要让此页面创建更多消息”的对话框?

问题描述 投票:0回答:2

我有一个 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);

现在,当弹出多个框时,会有一个复选框,上面写着“不要让这个页面创建更多消息”。上面的代码无法关闭这个框。我不确定我错过了什么。

我什至不确定为什么首先会弹出此错误。如果我干预并手动单击网页上的按钮,我通常不会收到弹出窗口。但那是另一个问题。

c# webbrowser-control
2个回答
1
投票

尝试只发送

WM_CLOSE
消息到窗口而不是模拟点击OK按钮:

IntPtr hwnd = FindWindow("#32770", "Message from webpage");
if (hwnd != IntPtr.Zero)
{
    SendMessage(hwnd, 0x10, IntPtr.Zero, IntPtr.Zero);
}

0
投票

如何解决我的 PC 不要让它创建更多页面

© www.soinside.com 2019 - 2024. All rights reserved.