Örneğin komponentiniz HTML5 uyumlu çalışmıyorsa eski versiyonlardan biriyle çalışıyordur muhtemelen. Bu durumda yeni versiyonla çalışmasını sağlamalıyız.
http://stackoverflow.com/questions/9983237/ie9-webbrowser-control-does-not-render-animations-like-in-ie9
http://msdn.microsoft.com/en-us/library/ee330730(v=vs.85).aspx#browser_emulation
Evet, bu linklerde de anlatıldığı üzere registry'de bir ayar yapmanız gerekmekte.
Start menüsüne registry yazıp hemen "Registry Editor" u açabilirsiniz. Daha sonra sırasıyla şu klasörleri açın.
HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER) SOFTWARE Microsoft Internet Explorer Main FeatureControl FEATURE_BROWSER_EMULATION
Burada sağ tıklayıp yeni bir satır ekleyeceğiz.
Process isminizi (örneğin uygulama.exe, task manager'dan tam olarak bakabilirsiniz) nurda isim olarak vermelisiniz data kısmını ise "Modify" diyerek değiştirebiliyoruz. Burada İE sürümü 10 u kullanma istiyorsanız decimal olarak değeri 10000 ayarlamanız, 9'u kullanmak istiyorsanız decimal olarak 9000 ayarlamanız, gerekiyor. Versiyonuna göre kullanabileceğiniz değğerler aşağıda.
Value | Description |
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 !DOCTYPE directive. |
9000 (0x2328) | Internet Explorer 9. Webpages containing standards-based !DOCTYPE directives are displayed in IE9 mode. Default value for Internet Explorer 9. |
8888 (0x22B8) | Webpages are displayed in IE8 Standards mode, regardless of the !DOCTYPE directive. |
8000 (0x1F40) | Webpages containing standards-based !DOCTYPE directives are displayed in IE8 mode. Default value for Internet Explorer 8 |
7000 (0x1B58) | Webpages containing standards-based !DOCTYPE directives are displayed in IE7 Standards mode. Default value for applications hosting theWebBrowser Control. |
Ayrıca kodla da Registry işlemleri yapılabilmekte.
Ancak kodla LocalMachine'i değiştirebilmek için program administrator modda açılmalı. Sağ tık ile "run as admininistrator" diyebileceğiniz gibi Visual C# - Kodla Yönetici Olarak Çalıştırmak yazımızda anlattığımız gibi de yapabilirsiniz. Aksi takdirde Registry kodlarım neden çalışmıyor diye kendinizi üzebilirsiniz. CurrentUser klasörleri üzerinde çalışırken yönetici modda olsanız da olmasanız da farketmez, çalışır.
RegistryKey regkey = (RegistryKey)Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION", true);
regkey.SetValue(System.Diagnostics.Process.GetCurrentProcess().ProcessName.ToString()+".exe", 9000, RegistryValueKind.DWord);
Yukarıdaki path 32 bit sistemler içindir. 64 bit sistemler için kullanmanız gereken path şudur:
@"\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
Şimdi aklımıza tabii hemen ne geldi? C#'da sistemin kodla 32 bit mi - 64 bit mi olduğunu nasıl bulacağımız? Onun da cevabı bir sonraki yazımızda : C# İle Sistemin 32 Bit Mi 64 Bit Mi Olduğunu Bulma
Faydalı olması dileğiyle.