আমি বীরের উত্তর দেখেছি। আমি মনে করি এটি সঠিক, তবে এটি আমার পক্ষে কাজ করে নি। সম্ভবত আমি। নেট 4 ব্যবহার করছি এবং 64x ওএস ব্যবহার করছি তাই দয়া করে এটি পরীক্ষা করে দেখুন।
আপনি আপনার অ্যাপ্লিকেশনটির শুরুতে সেটআপ রাখতে পারেন বা এটি পরীক্ষা করতে পারেন:
private void Form1_Load(object sender, EventArgs e)
{
var appName = Process.GetCurrentProcess().ProcessName + ".exe";
SetIE8KeyforWebBrowserControl(appName);
}
private void SetIE8KeyforWebBrowserControl(string appName)
{
RegistryKey Regkey = null;
try
{
if (Environment.Is64BitOperatingSystem)
Regkey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\\Wow6432Node\\Microsoft\\Internet Explorer\\Main\\FeatureControl\\FEATURE_BROWSER_EMULATION", true);
else
Regkey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\\Microsoft\\Internet Explorer\\Main\\FeatureControl\\FEATURE_BROWSER_EMULATION", true);
if (Regkey == null)
{
MessageBox.Show("Application Settings Failed - Address Not found");
return;
}
string FindAppkey = Convert.ToString(Regkey.GetValue(appName));
if (FindAppkey == "8000")
{
MessageBox.Show("Required Application Settings Present");
Regkey.Close();
return;
}
if (string.IsNullOrEmpty(FindAppkey))
Regkey.SetValue(appName, unchecked((int)0x1F40), RegistryValueKind.DWord);
FindAppkey = Convert.ToString(Regkey.GetValue(appName));
if (FindAppkey == "8000")
MessageBox.Show("Application Settings Applied Successfully");
else
MessageBox.Show("Application Settings Failed, Ref: " + FindAppkey);
}
catch (Exception ex)
{
MessageBox.Show("Application Settings Failed");
MessageBox.Show(ex.Message);
}
finally
{
if (Regkey != null)
Regkey.Close();
}
}
আপনি কেবল পরীক্ষার জন্য ম্যাসেজবক্স.শো সন্ধান করতে পারেন।
কীগুলি নিম্নলিখিত হিসাবে রয়েছে:
11001 (0x2AF9) - ইন্টারনেট এক্সপ্লোরার ১১. ওয়েবপৃষ্ঠাগুলি আইই 11 প্রান্ত মোডে প্রদর্শিত হবে, !DOCTYPE
নির্দেশ নির্বিশেষে ।
11000 (0x2AF8) - ইন্টারনেট এক্সপ্লোরার ১১. মানক-ভিত্তিক !DOCTYPE
নির্দেশাবলী যুক্ত ওয়েবপৃষ্ঠাগুলি আইই ১১ প্রান্ত মোডে প্রদর্শিত হয় are আইই 11 এর জন্য ডিফল্ট মান।
10001 (0x2711) - ইন্টারনেট এক্সপ্লোরার ১০. ওয়েবপৃষ্ঠাগুলি আইই 10 স্ট্যান্ডার্ড মোডে প্রদর্শিত হবে, !DOCTYPE
নির্দেশ নির্বিশেষে ।
10000 (0x2710) - ইন্টারনেট এক্সপ্লোরার 10. মান-ভিত্তিক !DOCTYPE
নির্দেশাবলী যুক্ত ওয়েবপৃষ্ঠাগুলি আইই 10
স্ট্যান্ডার্ড মোডে প্রদর্শিত হয় are ইন্টারনেট এক্সপ্লোরার 10 এর জন্য ডিফল্ট মান।
9999 (0x270F) - ইন্টারনেট এক্সপ্লোরার 9. ওয়েবপৃষ্ঠাগুলি আইই 9 স্ট্যান্ডার্ড মোডে প্রদর্শিত হবে, !DOCTYPE
নির্দেশ নির্বিশেষে ।
9000 (0x2328) - ইন্টারনেট এক্সপ্লোরার ৯। মান-ভিত্তিক !DOCTYPE
নির্দেশাবলী যুক্ত ওয়েবপৃষ্ঠাগুলি আইই 9 মোডে প্রদর্শিত হয়।
8888 (0x22B8) - !DOCTYPE
নির্দেশ নির্বিশেষে ওয়েবপৃষ্ঠাগুলি IE8 স্ট্যান্ডার্ড মোডে প্রদর্শিত হবে ।
8000 (0x1F40) - মান-ভিত্তিক !DOCTYPE
নির্দেশাবলী যুক্ত ওয়েবপৃষ্ঠাগুলি আইই 8 মোডে প্রদর্শিত হয়।
7000 (0x1B58) - মান-ভিত্তিক !DOCTYPE
নির্দেশাবলী যুক্ত ওয়েবপৃষ্ঠাগুলি আই 7 মানক মোডে প্রদর্শিত হয়।
তথ্যসূত্র: এমএসডিএন: ইন্টারনেট বৈশিষ্ট্য নিয়ন্ত্রণসমূহ
আমি স্কাইপের মতো অ্যাপ্লিকেশনগুলি 10001 ব্যবহার করে দেখেছি I আমি জানি না।
বিঃদ্রঃ
সেটআপ অ্যাপ্লিকেশন রেজিস্ট্রি পরিবর্তন করবে। রেজিস্ট্রি পরিবর্তনের অনুমতিজনিত কারণে ত্রুটিগুলি এড়াতে আপনাকে ম্যানিফেস্ট ফাইলটিতে একটি লাইন যুক্ত করতে হবে:
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
আপডেট 1
এটি একটি শ্রেণি উইন্ডোতে আইই এর সর্বশেষতম সংস্করণ পাবে এবং যা হওয়া উচিত তা পরিবর্তন করবে;
public class WebBrowserHelper
{
public static int GetEmbVersion()
{
int ieVer = GetBrowserVersion();
if (ieVer > 9)
return ieVer * 1000 + 1;
if (ieVer > 7)
return ieVer * 1111;
return 7000;
}
public static void FixBrowserVersion()
{
string appName = System.IO.Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().Location);
FixBrowserVersion(appName);
}
public static void FixBrowserVersion(string appName)
{
FixBrowserVersion(appName, GetEmbVersion());
}
public static void FixBrowserVersion(string appName, int ieVer)
{
FixBrowserVersion_Internal("HKEY_LOCAL_MACHINE", appName + ".exe", ieVer);
FixBrowserVersion_Internal("HKEY_CURRENT_USER", appName + ".exe", ieVer);
FixBrowserVersion_Internal("HKEY_LOCAL_MACHINE", appName + ".vshost.exe", ieVer);
FixBrowserVersion_Internal("HKEY_CURRENT_USER", appName + ".vshost.exe", ieVer);
}
private static void FixBrowserVersion_Internal(string root, string appName, int ieVer)
{
try
{
if (Environment.Is64BitOperatingSystem)
Microsoft.Win32.Registry.SetValue(root + @"\Software\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION", appName, ieVer);
else
Microsoft.Win32.Registry.SetValue(root + @"\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION", appName, ieVer);
}
catch (Exception)
{
}
}
public static int GetBrowserVersion()
{
string strKeyPath = @"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer";
string[] ls = new string[] { "svcVersion", "svcUpdateVersion", "Version", "W2kVersion" };
int maxVer = 0;
for (int i = 0; i < ls.Length; ++i)
{
object objVal = Microsoft.Win32.Registry.GetValue(strKeyPath, ls[i], "0");
string strVal = System.Convert.ToString(objVal);
if (strVal != null)
{
int iPos = strVal.IndexOf('.');
if (iPos > 0)
strVal = strVal.Substring(0, iPos);
int res = 0;
if (int.TryParse(strVal, out res))
maxVer = Math.Max(maxVer, res);
}
}
return maxVer;
}
}
ক্লাস ব্যবহার অনুসরণ
WebBrowserHelper.FixBrowserVersion();
WebBrowserHelper.FixBrowserVersion("SomeAppName");
WebBrowserHelper.FixBrowserVersion("SomeAppName",intIeVer);
উইন্ডোজ 10 এর তুলনায় আপনি সমস্যার মুখোমুখি হতে পারেন, নিজের ওয়েবসাইটের কারণে আপনাকে এই মেটা ট্যাগ যুক্ত করতে হতে পারে
<meta http-equiv="X-UA-Compatible" content="IE=11" >
উপভোগ করুন :)