Wpf 功能\u浏览器\u仿真Windows XP

Wpf 功能\u浏览器\u仿真Windows XP,wpf,browser,windows-xp,Wpf,Browser,Windows Xp,我使用此代码允许在wpf应用程序中模拟浏览器功能: string executablePath = Environment.GetCommandLineArgs()[0]; MessageBox.Show(executablePath); string executableName = System.IO.Path.GetFileName(executablePath); MessageBox.Show(executableName); MessageBox.Show("Is64BitOper

我使用此代码允许在wpf应用程序中模拟浏览器功能:

string executablePath = Environment.GetCommandLineArgs()[0];
MessageBox.Show(executablePath);
string executableName = System.IO.Path.GetFileName(executablePath);
MessageBox.Show(executableName);

MessageBox.Show("Is64BitOperatingSystem : " + Environment.Is64BitOperatingSystem);

string key = string.Empty;
if (Environment.Is64BitOperatingSystem)
    key = @"SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION";
else
    key = @"SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION";

RegistryKey registrybrowser = Registry.CurrentUser.OpenSubKey(key, true);
MessageBox.Show(registrybrowser.ToString());

if (registrybrowser == null)
{
    RegistryKey registryFolder = Registry.CurrentUser.OpenSubKey
        (@"SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl", true);
    MessageBox.Show(registryFolder.ToString());
    registrybrowser = registryFolder.CreateSubKey("FEATURE_BROWSER_EMULATION");
}
registrybrowser.SetValue(executableName, 0x02710, RegistryValueKind.DWord);
registrybrowser.Close();
当我尝试在WindowsXPSP2,FW4上运行我的应用程序时,registrybrowser对象为空,因为我想找不到密钥。
如何在Windows XP上设置此功能模拟?

我的Windows XP上没有FeatureControl注册表项。以下是如何修复它:

string executablePath = Environment.GetCommandLineArgs()[0];
string executableName = System.IO.Path.GetFileName(executablePath);

string key = @"SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION";

RegistryKey registrybrowser = Registry.CurrentUser.OpenSubKey(key, true);

if (registrybrowser == null)
{
    RegistryKey registryFolder = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl", true);

    if (registryFolder == null)
    {
        RegistryKey registryFolderParent = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Internet Explorer\Main", true);
        registryFolderParent.CreateSubKey("FeatureControl");
        registryFolder = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl", true);
    }

    registrybrowser = registryFolder.CreateSubKey("FEATURE_BROWSER_EMULATION");
}
registrybrowser.SetValue(executableName, 0x2AF9, RegistryValueKind.DWord);
registrybrowser.Close();

32位操作系统没有WOW6432节点密钥。只需删除IS64位操作系统测试。你是对的。我的windows XP上没有FeatureControl键。我必须按代码添加它。