Delphi WebBrowser 无法调用当前浏览器的版本 --转
2016-03-21 13:49
330 查看
出自: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 := '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; 注册表这里HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION 加上你的exe名字
相关文章推荐
- delphi实现js的获取时间,兼容各系统。
- Delphi VMT的前世今生(研究一下D7的VMT表结构)
- Delphi编程实现是否开启“平滑屏幕字体边缘“
- Delphi常见图象格式转换技术
- Delphi回调函数及其使用
- Delphi TStream 详细介绍
- Delphi多线程数据库查询(ADO)
- delphi 精要-读书笔记(内存分配释放)
- Delphi事件的广播2
- 汇编与高级语言(插图结合Delphi代码,来自linzhengqun)
- 浅析Delphi Container库(有开源的DCLX)
- Delphi接口的底层实现(接口在内存中仍然有其布局,它依附在对象的内存空间中,有汇编解释)——接口的内存结构图,简单清楚,深刻 good
- Delphi 调用JAVA WebService 操作数据库登录的例子
- Delphi语言如何对自定义类进行持久化保存及恢复 (性能远比json/xml高)
- Delphi 调用JAVA WebService例子
- Delphi iOS 开启文件共享 UIFileSharingEnabled
- send和recv函数解析
- CoInitialize浅析
- 提升Delphi编程效率必须使用的快捷键(Delphi2007版本)
- Delphi中复制带有String的记录结构时不能使用Move之类的内存操作函数