delphi強制WebBrowser控制項使用指定版本顯示網頁

來源:互聯網
上載者:User

標籤:string   ati   elements   cascading   can   ons   loaded   dom   hang   

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:=‘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(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 objectbegin 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 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
  • Browser Emulation
  • Child Window Clipping
  • Circular References in Script Management
  • Clipboard Script Control
  • Cross Domain Capture Event
  • Cross Domain Redirection
  • Related topics
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 8Important  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.

 


}

delphi強制WebBrowser控制項使用指定版本顯示網頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.