亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? uiemonitor.~pas

?? IE 攔截,可以完成對IE 的控制,跟蹤等操作
?? ~PAS
字號:
unit UIEMonitor;

{$WARN SYMBOL_PLATFORM OFF}

interface

uses
  Windows, ActiveX, Classes, ComObj, SHDOCVW, Dialogs, SysUtils, Forms;
type
  TIEMonitor = class(TComObject, IDispatch, IObjectWithSite)
  public
    function GetTypeInfoCount(out Count:Integer):HResult;stdcall;
    function GetTypeInfo(Index,LocaleID:Integer;out TypeInfo):HResult;stdcall;
    function GetIDsOfNames(const IID:TGUID;Names:Pointer;
      NameCount,LocaleID:Integer;DispIDs:Pointer):HResult;stdcall;
    function SetSite(const pUnkSite:IUnknown):HResult;stdcall;
    function GetSite(const riid:TIID;out site:IUnknown):HResult;stdcall;
    function Invoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var Params; VarResult, ExcepInfo, ArgErr: Pointer): HResult; stdcall;
  private
    IEThis:IWebBrowser2;
    Cookie:Integer;
  protected
  end;

const
  Class_IEMonitor: TGUID = '{47CFDDF9-6FBD-4C06-8752-24FEFBA10D51}';
  HasQuit=888;//標志已經退出
  
var
  isStart:Integer;//標志是否正在退出
 // WIMS:TWIMS;

implementation

uses ComServ;

procedure DoBeforeNavigate2(const pDisp:IDispatch;var URL:OleVariant;
  var Flags:OleVariant;var TargetFrameName:OleVariant;var PostData:OleVariant;
  var Headers:OleVariant;var Cancel:WordBool);
var
  i:Integer;
  s:string;
begin
  s:=URL;
  s:=uppercase(s);
  if pos('163',s)<>0 then  begin
        ShowMessage('notok');
        Cancel:=true;
  end else begin
  end;
end;

procedure DoDownloadComplete(IEThis:IWebBrowser2);
begin
  //可以在該函數中處理網頁文本以及圖象等信息
end;

procedure DoOnQuit;
begin
 { if(Assigned(WIMS))then
  begin
    WIMS.Free;
    //ShowMessage('釋放了TWIMS!');
  end;//}
  //ShowMessage('執行DoOnQuit事件!'+IntToStr(isStart));
  //isStart:=HasQuit;//標志已經退出
end;

procedure BuildPositionalDispIDs(pDispIDs:PDispIDList;const dps:TDispParams);
var
  i:Integer;
begin
  Assert(pDispIDs<>nil);
  for i:=0 to dps.cArgs-1 do
    pDispIDs^[i]:=dps.cArgs-1-i;
  if(dps.cNamedArgs<=0)then
    Exit;
  for i:=0 to dps.cNamedArgs-1 do
    pDispIDs^[dps.rgdispidNamedArgs^[i]]:=i;
end;

function TIEMonitor.Invoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var Params; VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant=^OleVariant;
var
  dps:TDispParams absolute Params;
  bHasParams:Boolean;
  pDispIDs:PDispIDList;
  iDispIDsSize:Integer;
begin
  Result:=DISP_E_MEMBERNOTFOUND;
  pDispIDs:=nil;
  iDispIDsSize:=0;
  bHasParams:=(dps.cArgs>0);
  if(bHasParams)then
  begin
    iDispIDsSize:=dps.cArgs*SizeOf(TDispID);
    GetMem(pDispIDs,iDispIDsSize);
  end;
  try
    if(bHasParams)then BuildPositionalDispIDs(pDispIDs,dps);
    case DispID of
      104:begin
          DoDownLoadComplete(IEThis);
          Result:=S_OK;
        end;
      250:begin
          DoBeforeNavigate2(IDispatch(dps.rgvarg^[pDispIDs^[0]].dispVal),
            POleVariant(dps.rgvarg^[pDispIDs^[1]].pvarVal)^,
            POleVariant(dps.rgvarg^[pDispIDs^[2]].pvarVal)^,
            POleVariant(dps.rgvarg^[pDispIDs^[3]].pvarVal)^,
            POleVariant(dps.rgvarg^[pDispIDs^[4]].pvarVal)^,
            POleVariant(dps.rgvarg^[pDispIDs^[5]].pvarVal)^,
            dps.rgvarg^[pDispIDs^[6]].pbool^);
          Result:=S_OK;
        end; 
      253:begin
          DoOnQuit();
          Result:=S_OK;
        end;
    end;//end of case DispID of
  finally
    if(bHasParams)then
      FreeMem(pDispIDs,iDispIDsSize);
  end;
end;

function TIEMonitor.GetTypeInfo(Index,LocaleID:Integer;out TypeInfo):HResult;
begin
  Result:=E_NOTIMPL;
  Pointer(TypeInfo):=nil;
end;

function TIEMonitor.GetTypeInfoCount(out Count:Integer):HResult;
begin
  Result:=E_NOTIMPL;
  Count:=0;
end;

function TIEMonitor.GetIDsOfNames(const IID:TGUID;Names:Pointer;
  NameCount,LocaleID:Integer;DispIDs:Pointer):HResult;
begin
  Result:=E_NOTIMPL;
end;

function TIEMonitor.GetSite(const riid:TIID;out site:IUnknown):HResult;
begin
  //ShowMessage('執行了GetSite事件!');
  if(Assigned(IEThis))then
    Result:=IEThis.QueryInterface(riid,site)
  else Result:=E_FAIL;
end;

function TIEMonitor.SetSite(const pUnkSite:IUnknown):HResult;
var
  cmdTarget:IOleCommandTarget;
  Sp:IServiceProvider;
  CPC:IConnectionPointContainer;
  CP:IConnectionPoint;
begin
  //ShowMessage('執行了SetSite事件!');
  if(Assigned(pUnkSite))then
  begin
    cmdTarget:=(pUnkSite as IOleCommandTarget);
    Sp:=(CmdTarget as IServiceProvider);
    if(Assigned(Sp))then//獲得IE的WebBrowser接口,
      Sp.QueryService(IWebBrowserApp,IWebBrowser2,IEThis);
    if(Assigned(IEThis))then
    begin
      IEThis.QueryInterface(IConnectionPointContainer,CPC);//尋找連接點
      CPC.FindConnectionPoint(DWEBBrowserEvents2,CP);
      CP.Advise(Self,Cookie);//通過Advise方法建立Com自身與連接點的連接
    end;
  end;
  Result:=S_OK;
end;

initialization
  TComObjectFactory.Create(ComServer, TIEMonitor, Class_IEMonitor,
    'IEMonitor', '', ciMultiInstance, tmApartment);
  isStart:=HasQuit-1;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久www成人免费毛片麻豆 | 天天影视色香欲综合网老头| 三级在线观看一区二区| 国产在线播放一区三区四| 91免费版在线| 久久综合九色综合欧美就去吻 | 欧美人与性动xxxx| 国产欧美日韩麻豆91| 免费看日韩精品| 在线视频你懂得一区| 国产午夜久久久久| 蜜桃久久久久久| 欧美人与禽zozo性伦| 又紧又大又爽精品一区二区| 国产成人丝袜美腿| 精品福利一二区| 日韩国产精品91| 色8久久精品久久久久久蜜| 国产无遮挡一区二区三区毛片日本| 丝袜诱惑制服诱惑色一区在线观看 | 亚洲在线视频网站| 不卡的av在线播放| 国产女同性恋一区二区| 国产99精品国产| 精品国产乱码久久久久久久| 日韩二区三区在线观看| 欧美日韩高清一区二区三区| 亚洲在线观看免费视频| 91精品1区2区| 一区二区三区不卡在线观看| 99免费精品视频| 综合中文字幕亚洲| proumb性欧美在线观看| 国产精品成人在线观看| 成人精品高清在线| 国产精品久久久久久久久免费丝袜| 成人永久看片免费视频天堂| 国产婷婷一区二区| 不卡一区二区在线| 亚洲免费高清视频在线| 欧洲精品一区二区| 亚洲v精品v日韩v欧美v专区| 欧美日韩免费在线视频| 日韩精品亚洲一区二区三区免费| 欧美精品一二三| 久久成人久久鬼色| 国产婷婷一区二区| 91女厕偷拍女厕偷拍高清| 一区二区三区高清不卡| 欧美男人的天堂一二区| 久草这里只有精品视频| 国产日产精品1区| 一本色道久久综合亚洲aⅴ蜜桃| 又紧又大又爽精品一区二区| 91.麻豆视频| 国产一区二区美女| 日韩伦理电影网| 欧美日韩国产区一| 久久66热偷产精品| 亚洲欧美怡红院| 欧美老肥妇做.爰bbww| 美女在线视频一区| 中文字幕中文字幕一区二区| 久久蜜桃av一区精品变态类天堂 | 一区二区三区在线观看动漫| 欧美日韩夫妻久久| 狠狠色狠狠色综合日日91app| 国产精品嫩草99a| 欧美系列日韩一区| 国产精品538一区二区在线| 亚洲日本一区二区三区| 日韩一级免费观看| 99国产精品国产精品久久| 视频一区在线播放| 国产精品欧美久久久久一区二区 | 精品福利视频一区二区三区| 成人白浆超碰人人人人| 日韩高清一区二区| 国产精品嫩草99a| 欧美一级在线视频| 色噜噜狠狠成人网p站| 国模无码大尺度一区二区三区| 亚洲欧洲成人自拍| 久久一区二区三区国产精品| 欧美日韩国产精品成人| 波多野结衣在线一区| 日本在线播放一区二区三区| 中文字幕在线免费不卡| 欧美精品一区二区不卡| 欧美亚洲精品一区| 99精品久久只有精品| 精品在线一区二区| 午夜精品国产更新| 亚洲乱码国产乱码精品精98午夜| 久久先锋影音av| 欧美一卡二卡三卡四卡| 日本电影亚洲天堂一区| 成人午夜免费电影| 久久99精品久久久久婷婷| 亚洲成av人综合在线观看| 亚洲女同ⅹxx女同tv| 中文字幕精品三区| 久久精品这里都是精品| 精品国精品国产| 欧美一二区视频| 欧美精品久久久久久久久老牛影院 | 欧美精选在线播放| 欧美在线视频日韩| 91国产视频在线观看| 色综合一区二区| 9久草视频在线视频精品| 成人动漫一区二区| 粉嫩蜜臀av国产精品网站| 国产乱码精品一区二区三 | 国产亚洲福利社区一区| 精品成人一区二区| 26uuu国产一区二区三区| 日韩小视频在线观看专区| 91精品国产乱码久久蜜臀| 欧美一个色资源| 精品久久久久99| 久久久久久久久99精品| 国产午夜精品理论片a级大结局 | 精品国产免费久久| 日韩欧美亚洲一区二区| 精品国产一二三| 国产午夜精品一区二区三区嫩草| 欧美国产97人人爽人人喊| 中文字幕一区二区三区在线观看| 亚洲欧美电影院| 日韩经典中文字幕一区| 精品一区二区三区在线播放视频| 国产美女在线观看一区| 成人va在线观看| 91精品1区2区| 日韩女同互慰一区二区| 国产日产欧美一区| 亚洲伊人色欲综合网| 美女一区二区三区| 丁香另类激情小说| 亚洲婷婷国产精品电影人久久| 亚洲人成网站影音先锋播放| 亚洲品质自拍视频| 国产在线看一区| 91一区一区三区| 国产麻豆视频精品| 亚洲精品日韩专区silk | 亚洲福利视频导航| 色综合久久99| 美女尤物国产一区| 在线观看欧美精品| 一色屋精品亚洲香蕉网站| 国产麻豆视频精品| 精品国免费一区二区三区| 日本va欧美va瓶| 欧美人妇做爰xxxⅹ性高电影| 亚洲精品伦理在线| 99久久精品免费观看| 亚洲国产高清在线观看视频| 国产精品一区二区免费不卡| 精品免费视频一区二区| 欧美aⅴ一区二区三区视频| 欧美日韩国产高清一区二区三区| 一区二区三区资源| 一本久久a久久免费精品不卡| 国产精品久久久久桃色tv| 成人动漫av在线| 国产精品视频在线看| 成人国产亚洲欧美成人综合网| 欧美国产日韩一二三区| 成人美女在线观看| 中文字幕一区二区视频| 91免费视频大全| 夜色激情一区二区| 欧美日韩在线播放| 日韩在线a电影| 欧美成人一区二区三区| 国产在线乱码一区二区三区| 国产午夜久久久久| 91在线观看一区二区| 亚洲精选视频免费看| 欧美午夜一区二区| 日韩电影在线观看网站| 精品国偷自产国产一区| 国产馆精品极品| 亚洲欧洲av在线| 欧美午夜免费电影| 欧美aaaaa成人免费观看视频| 欧美精品一区二区三| 懂色av一区二区夜夜嗨| 亚洲欧美一区二区三区极速播放 | 欧美日韩成人在线| 午夜精品久久久久久久蜜桃app| 日韩欧美成人激情| 福利一区二区在线| 亚洲一区二区三区视频在线播放 | 国产精品亲子伦对白| 99re66热这里只有精品3直播| 亚洲午夜久久久久久久久电影网 | 国产三区在线成人av|