zoukankan      html  css  js  c++  java
  • delphi强制WebBrowser控件使用指定版本显示网页

    function TFrmmain.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:='SOFTWAREMicrosoftInternet ExplorerMAINFeatureControlFEATURE_BROWSER_EMULATION';
            if isWin64 then
            sPath:='SOFTWAREWow6432NodeMicrosoftInternet ExplorerMAINFeatureControlFEATURE_BROWSER_EMULATION';
            if reg.OpenKey(sPath,True) then
            begin
              sAppName:=ExtractFileName(Application.ExeName);
             Sver:=GetIEVersionStr;
             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 TFrmmain.GetIEVersionStr: string;
    var
     Reg: TRegistry; // registry access object
    begin
     Result := '';
     Reg := TRegistry.Create;
     try
        Reg.RootKey := Windows.HKEY_LOCAL_MACHINE;
     if Reg.OpenKeyReadOnly('SoftwareMicrosoftInternet 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 TFrmmain.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;

      参考了这儿

    http://www.cnblogs.com/zhwl/p/3147832.html

    参考

    {

    说明
    10001 (0x2711)
    Internet Explorer 10。网页以IE 10的标准模式展现,页面!DOCTYPE无效
    10000 (0x02710)
    Internet Explorer 10。在IE 10标准模式中按照网页上!DOCTYPE指令来显示网页。Internet Explorer 10 默认值。
    9999 (0x270F)
    Windows Internet Explorer 9. 强制IE9显示,忽略!DOCTYPE指令
    9000 (0x2328)
    Internet Explorer 9. Internet Explorer 9默认值,在IE9标准模式中按照网页上!DOCTYPE指令来显示网页。
    8888 (0x22B8)
    Internet Explorer 8,强制IE8标准模式显示,忽略!DOCTYPE指令
    8000 (0x1F40)
    Internet Explorer 8默认设置,在IE8标准模式中按照网页上!DOCTYPE指令展示网页
    7000 (0x1B58)
    使用WebBrowser Control控件的应用程序所使用的默认值,在IE7标准模式中按照网页上!DOCTYPE指令来展示网页。
    }


    {
    https://msdn.microsoft.com/en-us/library/ee330730(v=vs.85).aspx

    Internet Feature Controls (B..C)

     

    Updated: July 2012

    This article describes feature controls with names that begin with the letters B or C. For links to other feature controls, see Feature Controls.

    Binary Behavior Security

    Microsoft Internet Explorer 6 for Windows XP Service Pack 2 (SP2). The FEATURE_BEHAVIORS allows Binary Behaviors to run more securely. When the feature is enabled, it can be set differently for each security zone by using the URL action flag URLACTION_BEHAVIOR_RUN. For more information, see About URL Security Zones.

    By default, this feature is enabled for Windows Internet Explorer and for applications hosting the WebBrowser Control. To disable this feature by using the registry, add the name of your executable file to the following setting.

    HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)
       SOFTWARE
          Microsoft
             Internet Explorer
                Main
                   FeatureControl
                      FEATURE_BEHAVIORS
                         contoso.exe = (DWORD) 00000000

    The feature is enabled when the value is set to (DWORD) 00000001 and disabled when the value is (DWORD) 00000000.

    Browser Emulation

    Windows Internet Explorer 8 and later. The FEATURE_BROWSER_EMULATION feature defines the default emulation mode for Internet Explorer and supports the following values.

    Value Description
    11001 (0x2AF9 Internet Explorer 11. Webpages are displayed in IE11 edge mode, regardless of the declared !DOCTYPE directive. Failing to declare a !DOCTYPE directive causes the page to load in Quirks.
    11000 (0x2AF8) IE11. Webpages containing standards-based !DOCTYPE directives are displayed in IE11 edge mode. Default value for IE11.
    10001 (0x2711) Internet Explorer 10. Webpages are displayed in IE10 Standards mode, regardless of the !DOCTYPE directive.
    10000 (0x02710) Internet Explorer 10. Webpages containing standards-based !DOCTYPE directives are displayed in IE10 Standards mode. Default value for Internet Explorer 10.
    9999 (0x270F) Windows Internet Explorer 9. Webpages are displayed in IE9 Standards mode, regardless of the declared !DOCTYPE directive. Failing to declare a !DOCTYPE directive causes the page to load in Quirks.
    9000 (0x2328) Internet Explorer 9. Webpages containing standards-based !DOCTYPE directives are displayed in IE9 mode. Default value for Internet Explorer 9.
    Important  In Internet Explorer 10, Webpages containing standards-based !DOCTYPE directives are displayed in IE10 Standards mode.
     
    8888 (0x22B8) Webpages are displayed in IE8 Standards mode, regardless of the declared !DOCTYPE directive. Failing to declare a !DOCTYPE directive causes the page to load in Quirks.
    8000 (0x1F40) Webpages containing standards-based !DOCTYPE directives are displayed in IE8 mode. Default value for Internet Explorer 8
    Important  In Internet Explorer 10, Webpages containing standards-based !DOCTYPE directives are displayed in IE10 Standards mode.
     
    7000 (0x1B58) Webpages containing standards-based !DOCTYPE directives are displayed in IE7 Standards mode. Default value for applications hosting the WebBrowser Control.

    For more information, see Defining Document Compatibility.

    To control the value of this feature by using the registry, add the name of your executable file to the following setting and set the value to match the desired setting.

    HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)
       SOFTWARE
          Microsoft
             Internet Explorer
                Main
                   FeatureControl
                      FEATURE_BROWSER_EMULATION
                         contoso.exe = (DWORD) 00009000

    Child Window Clipping

    Internet Explorer 9. Internet Explorer 9 optimized the performance of window-drawing routines that involve clipping regions associated with child windows. This helped improve the performance of certain window drawing operations. However, certain applications hosting the WebBrowser Control rely on the previous behavior and do not function correctly when these optimizations are enabled. The FEATURE_ENABLE_CLIPCHILDREN_OPTIMIZATION feature can disable these optimizations.

    By default, this feature is enabled for Internet Explorer and for applications hosting the WebBrowser Control. To disable this feature by using the registry, add the name of your executable file to the following setting.

    HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)
       SOFTWARE
          Microsoft
             Internet Explorer
                Main
                   FeatureControl
                      FEATURE_ENABLE_CLIPCHILDREN_OPTIMIZATION
                         contoso.exe = (DWORD) 00000000

    The feature is enabled when the value is set to (DWORD) 00000001 and disabled when the value is (DWORD) 00000000.

    Circular References in Script Management

    Internet Explorer 8 and later. By default, Internet Explorer reduces memory leaks caused by circular references between Internet Explorer and the Microsoft JScript engine, especially in scenarios where a webpage defines an expando and the page is refreshed. If a legacy application no longer functions with these changes, the FEATURE_MANAGE_SCRIPT_CIRCULAR_REFS feature can disable these improvements.

    By default, this feature is enabled for Internet Explorer and for applications hosting the WebBrowser Control. To disable this feature by using the registry, add the name of your executable file to the following setting.

    HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)
       SOFTWARE
          Microsoft
             Internet Explorer
                Main
                   FeatureControl
                      FEATURE_MANAGE_SCRIPT_CIRCULAR_REFS
                         contoso.exe = (DWORD) 00000000

    The feature is enabled when the value is set to (DWORD) 00000001 and disabled when the value is (DWORD) 00000000.

    Note  Because this feature improves the stability of Internet Explorer, disabling this feature is strongly discouraged.
     

    Clipboard Script Control

    When enabled, the FEATURE_ENABLE_SCRIPT_PASTE_URLACTION_IF_PROMPT feature allows scripts control over the Clipboard, even when the URLACTION_SCRIPT_PASTE URL action is set to "Prompt." This allows applications hosting the WebBrowser Control to opt out of a specific security check that may be unnecessary for the content displayed by the application. If the content is fully trusted and cannot be modified by any third-party, it may be safe to enable this feature. However, such a design decision should include a full security assessment. For more information, see Threat Modeling.

    By default, this feature is disabled for Internet Explorer and enabled for applications hosting the WebBrowser Control. To enable this feature by using the registry, add the name of your executable file to the following setting.

    HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)
       SOFTWARE
          Microsoft
             Internet Explorer
                Main
                   FeatureControl
                      FEATURE_ENABLE_SCRIPT_PASTE_URLACTION_IF_PROMPT
                         contoso.exe = (DWORD) 00000001

    The feature is enabled when the value is set to (DWORD) 00000001 and disabled when the value is (DWORD) 00000000.

    Cross Domain Capture Event

    The FEATURE_BLOCK_SETCAPTURE_XDOMAIN feature prevents capture events from being propagated to elements in webpages hosted on domains different than the one hosting the page containing the element that triggered the capture event.

    By default, this feature is enabled for Internet Explorer 8 and for applications hosting the WebBrowser Control. To disable this feature by using the registry, add the name of your executable file to the following setting.

    HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)
       SOFTWARE
          Microsoft
             Internet Explorer
                Main
                   FeatureControl
                      FEATURE_BLOCK_SETCAPTURE_XDOMAIN
                         contoso.exe = (DWORD) 00000000

    The feature is enabled when the value is set to (DWORD) 00000001 and disabled when the value is (DWORD) 00000000.

    Cross Domain Redirection

    When enabled, the FEATURE_CROSS DOMAIN_REDIRECT_MITIGATION feature applies cross-domain security to support files loaded by a webpage, including images, JavaScript libraries, Cascading Style Sheets (CSS) files, Microsoft ActiveX controls, and other file-based resources.

    Note  For security reasons, this feature should not be changed.
     

    By default, this feature is enabled for Internet Explorer 8 and for applications hosting the WebBrowser Control. To disable this feature by using the registry, add the name of your executable to the following setting.

    HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)
       SOFTWARE
          Microsoft
             Internet Explorer
                Main
                   FeatureControl
                      FEATURE_CROSS_DOMAIN_REDIRECT_MITIGATION
                         contoso.exe = (DWORD) 00000000

    The feature is enabled when the value is set to (DWORD) 00000001 and disabled when the value is (DWORD) 00000000.


    }

  • 相关阅读:
    phpredis
    nginx rewrite
    注册公司流程
    WebsitePanel 2.1.0beta配置部分
    Windows下cwRsync搭建步骤
    Windows 2008下部署Exchange Server 2007
    【网站国际化必备】Asp.Net MVC 集成Paypal(贝宝)快速结账 支付接口 ,附源码demo
    Win2008远程多用户登陆的配置方法 另附详细设置: Windows server 2008 R2实现多用户远程连接
    IIS安全工具UrlScan介绍 ASP.NET 两种超强SQL 注入免费解决方案( 基于IIS,使用免费工具) 批改或隐藏IIS7.5的Server头信息 移除X-Powered-By,MVC,ASP.NET_SessionId 的 HTTP头或者cookie名称
    利用UDP19端口实施DOS攻击的真实案例
  • 原文地址:https://www.cnblogs.com/zhqian/p/6067820.html
Copyright © 2011-2022 走看看