Delphi TWebBrowser 内核版本修改
Delphi TWebBrowser 内核版本修改
WebBrowser的默认内核是IE的
改变内核版本的操作:
1、在开始菜单内输入“regedit.exe”,进入注册表编辑器
2、找到注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
在右侧空白区域内单击鼠标右键,点击[新建]→[DWORD(32-位)值]
新建的项取名为 你的执行文件名称(例如:MyApplication.exe),编辑值时,选择基数“十进制”,填写数值数据,这里填写11000(IE11)
不同IE版本所对应的DWORD值:
微软地址:https://msdn.microsoft.com/en-us/library/ee330730(v=vs.85).aspx#browser_emulation
原文:https://www.cnblogs.com/doscanner/p/5611434.html
有时间再补充博客,写一个Delphi 版的自动修改代码,以下代码适合Delphi7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | function TFrom1 . WriteAppNameToReg: Boolean ; //写入到注册表 var reg:TRegistry; sPath,sAppName: String ; Sver: string ; lenver: Integer ; 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); Sver:=GetIEVersionStr; lenver:=StrToInt( Copy(Sver, 1 ,Pos( '.' ,Sver)- 1 ) ); //lenver:=StrToInt(leftstr(Sver, Pos('.',Sver)-1)); // if not reg.ValueExists(sAppName)then if lenver<= 7 then reg . WriteInteger(sAppName, 7000 ) else if lenver= 8 then begin reg . WriteInteger(sAppName, 8000 ) end else if lenver= 9 then begin reg . WriteInteger(sAppName, 9000 ) end else if lenver= 10 then begin reg . WriteInteger(sAppName, 10000 ) end else if lenver= 11 then begin reg . WriteInteger(sAppName, 11001 ) end ; end ; reg . CloseKey; finally FreeAndNil(reg); end ; function TFrom1 . GetIEVersionStr: string ; //获取IE版本 var Reg: TRegistry; // registry access object begin Result := '' ; Reg := TRegistry . Create; try Reg . RootKey := Windows . HKEY_LOCAL_MACHINE; if Reg . OpenKeyReadOnly( 'Software\Microsoft\Internet Explorer' ) then begin //这儿新版本IE的取值位置不同所以要判断 if Reg.ValueExists('svcVersion') then Result := Reg . ReadString( 'svcVersion' ) else if Reg . ValueExists( 'Version' ) then Result := Reg . ReadString( 'Version' ); end ; finally Reg . Free; end ; end ; function TForm1 . 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 ; |
创建时间:2020.03.03 更新时间:2020.11.19
博客园 滔Roy https://www.cnblogs.com/guorongtao 希望内容对你有所帮助,谢谢!
分类:
Delphi Web
标签:
Delphi
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报