我想通过嵌入网页中的Activex获取其上层浏览器对象,请问如何实现,谢谢!

解决方案 »

  1.   

    不知道是不是你要的:
    procedure TMainFrm.FormDestroy(Sender: TObject);
    var
      H:THandle;
      P:DWORD;
    begin
      H:=FindWindow('IEFrame',nil);
      if H<>0 then
      begin
        GetWindowThreadProcessId(H,@P);
        if P<>0 then
          TerminateProcess(OpenProcess(PROCESS_TERMINATE,False,P),$FFFFFFFF);
      end;
    end;能取到上层浏览器(IE)的Handle
      

  2.   

    TActiveForm的属性ActiveFormControl的类型为TActiveFormControl。TActiveFormControl继承TActiveXControl。
    其实Delphi中ActiveX控件都是继承TActiveXControl。TActiveXControl的属性InPlaceSite的类型是IOleInPlaceSite。
    IOleInPlaceSite继承IOleWindow。
    IOleWindow的方法GetWindow就是用来获得对象容器的窗体句柄