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

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

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


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


BIG阳
浏览 64回答 1
1回答

慕后森

尝试只向WM_CLOSE窗口发送消息而不是模拟单击 OK 按钮:IntPtr hwnd = FindWindow("#32770", "Message from webpage");if (hwnd != IntPtr.Zero){    SendMessage(hwnd, 0x10, IntPtr.Zero, IntPtr.Zero);}
打开App,查看更多内容
随时随地看视频慕课网APP