我有一個(gè) C# 程序,我一直在 Windows 7 中正常運(yùn)行,但現(xiàn)在我使用更新的瀏覽器升級(jí)到 Windows 10,它已停止正常工作。問題在于對(duì)話框的處理。當(dāng)它彈出時(shí),我只想關(guān)閉框。我使用了下面的代碼。如果它再次彈出,代碼將再次執(zhí)行以將其關(guān)閉。 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);現(xiàn)在,當(dāng)彈出多個(gè)框時(shí),會(huì)出現(xiàn)一個(gè)復(fù)選框,上面寫著“不要讓該頁面創(chuàng)建更多消息”。上面的代碼無法關(guān)閉這個(gè)框。我不確定我錯(cuò)過了什么。我什至不確定為什么首先會(huì)彈出此錯(cuò)誤。如果我干預(yù)并手動(dòng)單擊網(wǎng)頁上的按鈕,我通常不會(huì)收到彈出窗口。但那是另一個(gè)問題。
1 回答

慕后森
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
嘗試只向WM_CLOSE窗口發(fā)送消息而不是模擬單擊 OK 按鈕:
IntPtr hwnd = FindWindow("#32770", "Message from webpage");
if (hwnd != IntPtr.Zero)
{
SendMessage(hwnd, 0x10, IntPtr.Zero, IntPtr.Zero);
}
- 1 回答
- 0 關(guān)注
- 93 瀏覽
添加回答
舉報(bào)
0/150
提交
取消