• Delphi WebBrowser 无法调用当前浏览器的版本 --转


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

    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 := 'SOFTWAREMicrosoftInternet ExplorerMAINFeatureControlFEATURE_BROWSER_EMULATION';  
        if isWin64 then  
          sPath := 'SOFTWAREWow6432NodeMicrosoftInternet ExplorerMAINFeatureControlFEATURE_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;  

    注册表这里HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerMAINFeatureControlFEATURE_BROWSER_EMULATION 加上你的exe名字
  • 相关阅读:
    leetcode刷题笔记三十九 组合总和
    leetcode刷题笔记三十八 外观数列
    leetcode刷题笔记三十七 解数独
    leetcode刷题笔记三十六 有效的数独
    HTML5每日一练之input新增加的六种时间类型应用
    HTML5每日一练之input新增加的5种其他类型1种标签应用
    html5+css3中的background: -moz-linear-gradient 用法
    HTML5新标签解释及用法
    让IE浏览器支持CSS3圆角的方法
    纯CSS3实现的图片滑块程序,效果非常酷
  • 原文地址:https://www.cnblogs.com/chjb2007/p/5301644.html
Copyright © 2020-2023  润新知