• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Delphi WebBrowser内核版本修改

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 

手动更改WebBrowser内核版本的操作:

1、在开始菜单内输入“regedit.exe”,进入注册表编辑器

2、找到注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION

在右侧空白区域内单击鼠标右键,点击[新建]→[DWORD(32-位)值]

新建的项取名为 你的执行文件名称(例如:MyApplication.exe),编辑值时,选择基数“十进制”,填写数值数据,这里填写11000(IE11)

 

不同IE版本所对应的DWORD值:

 

写一个Delphi 版的自动修改IE内核版本的代码,以下代码适合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,Truethen

        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;

  

 

  


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
提问关于matlab report generator中的Block Summary Table组件使用发布时间:2022-07-18
下一篇:
Matlab中Rand()函数用法发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap