关于 TWebBrowser的NewWindows3事件 |
尚未結案
|
Delhpi
一般會員 ![]() ![]() 發表:9 回覆:14 積分:4 註冊:2008-07-05 發送簡訊給我 |
http://www.sina.com.cn/,打开主页时,还有弹出窗口。调试发现 dwFlags = 4,所以能起到屏蔽效果。
procedure TFrmWeb.WebNewWindow3Event(ASender: TObject; var ppDisp: IDispatch; var Cancel: WordBool; dwFlags: Cardinal; const bstrUrlContext, bstrUrl: WideString); if dwFlags <= 4 then // dwFlags <=4 for auto popup Cancel := true else .... end; 但是 现在发现,这样也会屏蔽了一些正常的弹出窗口(当时 dwFlags = 0 ),现在只能 取消这样的判断。 看了MSDN http://msdn.microsoft.com/en-us/library/aa768337(v=vs.85).aspx dwFlags The flags from the NWMF enumeration that pertain to the new window. 是一个枚举, Flags used by INewWindowManager::EvaluateNewWindow. These values are factors in the decision of whether to display a pop-up window. Syntax typedef enum NWMF { NWMF_UNLOADING = 0x00000001, NWMF_USERINITED = 0x00000002, NWMF_FIRST = 0x00000004, NWMF_OVERRIDEKEY = 0x00000008, NWMF_SHOWHELP = 0x00000010, NWMF_HTMLDIALOG = 0x00000020, NWMF_FROMDIALOGCHILD = 0x00000040, NWMF_USERREQUESTED = 0x00000080, NWMF_USERALLOWED = 0x00000100, NWMF_FORCEWINDOW = 0x00010000, NWMF_FORCETAB = 0x00020000, NWMF_SUGGESTWINDOW = 0x00040000, NWMF_SUGGESTTAB = 0x00080000, NWMF_INACTIVETAB = 0x00100000 } NWMF; dwFlags,我浏览不同的网页,测试到不同的值,0,4,6 想请教,如何利用这个变量,来实现 屏蔽那些广告的弹出窗口,但是又不误 屏蔽正常的弹出窗口呢? |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |