禁止WebBrowser彈出IE的對話框_第1頁
禁止WebBrowser彈出IE的對話框_第2頁
禁止WebBrowser彈出IE的對話框_第3頁
禁止WebBrowser彈出IE的對話框_第4頁
禁止WebBrowser彈出IE的對話框_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Delphi禁止WebBrowser彈出IE的對話框.docWebBrowser如何關閉彈出的alert對話框,我找了很久也沒有解決辦法。我的程序是用delphi寫的。有試過幾種方法。第一種用 WMActivate(var Msg: TWMActivate); message WM_ACTIVATE; 事件在正常情況下可以自動關閉,但我的程序是運行在系統托盤的,在最小化到托盤后,這個事件就不起作用了。第二種用 obj.parentWindow.execScript function showModalDialog()return; 類似的方法,網頁本頁面彈出的對話框可以屏蔽,但我的程序調用了某

2、個ASPX頁面,它是提交后返回時彈出對話框的,也不起作用了。對話框彈出的時候,只有WebBrowser控件不可用,程序還是正常運行的,我就用個 Timer 來 FindWindow(IEFrame,nil) 然后SendMessage關閉事件,但是根本沒效果。程序只差一個功能完工了啊,500高分求解!問題補充: 還有匿名回答啊可以了,多謝,到這邊拿分吧多任務網頁定時刷新器 EMBED Forms.HTML:Hidden.1 EMBED Forms.HTML:Hidden.1 EMBED Forms.HTML:Hidden.1 最佳答案 在CSDN上有類似的問題,參見以下代碼經測試有用(2011

3、年1月5日測試)。function CallBackProc(H, HMainForm: hwnd): Boolean; stdcall;var hChild : hwnd;begin Result := True; if GetParent(H) = HMainForm then begin /可以在這里進一步判斷類名,以免關掉其他彈出窗口 hChild := FindWindowEx(H, 0, PChar(Button), PChar(確定); if hChild 0 then SendMessage(hChild, BM_Click, 0, 0); end;end;procedure

4、TForm1.Timer1Timer(Sender: TObject);begin EnumWindows(CallBackProc, Self.Handle);end;procedure TForm1.Button1Click(Sender: TObject);begin Self.WebBrowser1.Navigate(C:Documents and Settingsjiaotongju桌面test2test.htm);end;procedure TForm1.Button2Click(Sender: TObject);begin Self.Timer1.Enabled := True;

5、/Web頁面裝載完畢后開啟Timerend;procedure TForm1.FormCreate(Sender: TObject);begin Self.Timer1.Enabled := False; Self.Timer1.Interval:= 100;end;附CSDN的原稿:在CSDN上有類似的問題,參見我程序中用WebBrowser打開一個網頁,點擊網頁上的一個提交按鈕時會彈出一個對話框(對話框是網頁中的alert函數產生),造成程序的執行中斷,需要手工點一下(或按回車)確定按鈕才能繼續,現在我想通過程序自動關閉這個對話框,請大家幫幫我!function CallBackProc(

6、H, HMainForm: hwnd): Boolean; stdcall;var hChild : hwnd;begin Result := True; if GetParent(H) = HMainForm then begin hChild := FindWindowEx(H, 0, PChar(Button), PChar(確定); if hChild 0 then SendMessage(hChild, BM_Click, 0, 0); end;end;procedure TForm1.Timer1Timer(Sender: TObject);begin EnumWindows(Ca

7、llBackProc, Self.Handle);end;procedure TForm1.Button1Click(Sender: TObject);begin Self.WebBrowser1.Navigate(C:Documents and Settingsjiaotongju桌面test2test.htm); Self.Timer1.Enabled := True;/這句只是我測試時放在了這里end;樓上的方法沒用的,webbrowser里的js彈出的對話框是堵塞的,當用程序調用click方法時,代碼是堵塞在click里的.俺不知道樓上您和樓主的JS代碼是什么樣子的。俺只是按俺自己的想

8、象測試成功的。下面是俺的全部代碼:function CallBackProc(H, HMainForm: hwnd): Boolean; stdcall;var hChild : hwnd;begin Result := True; if GetParent(H) = HMainForm then begin /可以在這里進一步判斷類名,以免關掉其他彈出窗口 hChild := FindWindowEx(H, 0, PChar(Button), PChar(確定); if hChild 0 then SendMessage(hChild, BM_Click, 0, 0); end;end;pr

9、ocedure TForm1.Timer1Timer(Sender: TObject);begin EnumWindows(CallBackProc, Self.Handle);end;procedure TForm1.Button1Click(Sender: TObject);begin Self.WebBrowser1.Navigate(C:Documents and Settingsjiaotongju桌面test2test.htm);end;procedure TForm1.Button2Click(Sender: TObject);begin Self.Timer1.Enabled := True;/Web頁面裝載完畢后開啟Timerend;procedure TForm1.FormCreate(Sender: TObject);begin Self.Timer1.Enabled := False; Self.Timer1.Interval:= 100;end;這是C:Documents a

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論