【轉】解決Delphi WebBrowser 無法調用當前瀏覽器的版本

來源:互聯網
上載者:User

標籤:handle   mic   assigned   extract   nav   style   cti   app   roc   

procedure TregedtIE.FormCreate(Sender: TObject);  begin    WriteAppNameToReg;    WebBrowser1.Navigate(‘C:\a.html‘);  end;  {--}  {需要注意是GetNativeSystemInfo 函數從Windows XP 開始才有,  而 IsWow64Process 函數從 Windows XP with SP2 以及 Windows Server 2003 with SP1 開始才有。  所以使用該函數的時候最好用GetProcAddress 。 }  function TregedtIE.IsWin64: Boolean;  var    Kernel32Handle: THandle;    IsWow64Process: function(Handle: Windows.THandle; var Res: Windows.BOOL): Windows.BOOL; stdcall;    GetNativeSystemInfo: procedure(var lpSystemInfo: TSystemInfo); stdcall;    isWoW64: Bool;    SystemInfo: TSystemInfo;  const    PROCESSOR_ARCHITECTURE_AMD64 = 9;    PROCESSOR_ARCHITECTURE_IA64 = 6;  begin    Kernel32Handle := GetModuleHandle(‘KERNEL32.DLL‘);    if Kernel32Handle = 0 then      Kernel32Handle := LoadLibrary(‘KERNEL32.DLL‘);    if Kernel32Handle <> 0 then    begin      IsWOW64Process := GetProcAddress(Kernel32Handle,‘IsWow64Process‘);      GetNativeSystemInfo := GetProcAddress(Kernel32Handle,‘GetNativeSystemInfo‘);      if Assigned(IsWow64Process) then      begin        IsWow64Process(GetCurrentProcess,isWoW64);        Result := isWoW64 and Assigned(GetNativeSystemInfo);        if Result then        begin          GetNativeSystemInfo(SystemInfo);          Result := (SystemInfo.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_AMD64) or                    (SystemInfo.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_IA64);        end;      end      else Result := False;    end    else Result := False;  end;  {--}  function TregedtIE.WriteAppNameToReg: Boolean;  var    reg :TRegistry;    sPath,sAppName:String;  begin    Result := True;    reg := TRegistry.Create;    try      reg.RootKey := HKEY_LOCAL_MACHINE;      sPath := ‘SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION‘;      if isWin64 then        sPath := ‘SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION‘;      if reg.OpenKey(sPath,True) then      begin        sAppName := ExtractFileName(Application.ExeName);       if not reg.ValueExists(sAppName) then          reg.WriteInteger(sAppName,0);      end;      reg.CloseKey;    finally      FreeAndNil(reg);    end;  end;  {--}  procedure TregedtIE.WebBrowser1DocumentComplete(ASender: TObject;    const pDisp: IDispatch; var URL: OleVariant);  begin    WebBrowser1.OleObject.Document.Body.Scroll := ‘no‘;    WebBrowser1.OleObject.Document.Body.style.border := ‘none‘;    webbrowser1.OleObject.Document.Body.Style.margin := ‘0px‘;  end;  

http://blog.csdn.net/wensibo/article/details/25971863

【轉】解決Delphi WebBrowser 無法調用當前瀏覽器的版本

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.