2012-02-10 2 views
3

Я пытаюсь сделать приложение Windows, которое добавляет URL-адрес также «доверенных сайтов» IE. эта часть работает. solution - http://www.nakov.com/blog/2009/05/15/c-code-for-changing-internet-explorer-security-settings-and-net-security-policy-to-run-windows-forms-based-activex-with-full-trust/изменить настройки IE Программно

Но мне также нужно изменить те же настройки. Мне нужно это: «Доступ к источникам данных по доменам» должно быть «Разрешено» «Загрузить неподписанные элементы управления ActiveX» должно быть «Подсказка» «Инициализировать и скриптировать элементы управления ActiveX, не помеченные как безопасные», должно быть «Включено»

это то, что у меня есть, но он не будет работать

private void UpdateDataSource() 
    { 
     RegistryKey ChangeSettings = Registry.Users; 
     ChangeSettings = ChangeSettings.OpenSubKey(".DEFAULT\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2", true); 

     // "Access data sources across domains" - "Enable" 
     ChangeSettings.SetValue("1406", "0", RegistryValueKind.DWord); 

     // "Download unsigned ActiveX controls" - "Prompt" 
     ChangeSettings.SetValue("1004", "1", RegistryValueKind.DWord); 

     // "Initialize and script ActiveX controls not marked as safe for scripting" - "Enable" 
     ChangeSettings.SetValue("1201", "0", RegistryValueKind.DWord); 

     ChangeSettings.Close(); 
    } 

источник http://www.hohmanns.de/

+1

Это выглядит так: * «Как снизить уровень безопасности в IE для учетной записи пользователя?» *. Не говоря уже о том, что вы не сможете это сделать, если безопасность задана с помощью групповой политики. – slugster

+0

Slugster - есть ли у вас ссылка на «как снизить каждый параметр безопасности в IE для учетной записи пользователя?» может быть, это может мне помочь – LuckyDice

+2

Lol. После того, как вы разместите эту ссылку @slugster, возможно, вы можете найти * «как обойти все функции безопасности в операционной системе?» * Он должен существовать, справа @Simon? – adelphus

ответ

0

Вы могли бы попытаться изменить его вручную в IE, а затем проверить, что изменилось в реестре и найти способ изменить его (путем изменения реестра напрямую) или найти чтобы изменить этот конкретный тег.

+3

Это должен был комментарий, а не ответ. – slugster

+0

Попробовали также просмотреть изменения в реестре. Но я не вижу его – LuckyDice

+0

@slugster: ok спасибо ... Думаю, это объясняет все (частичные) ответы или указания на ответ? –

2

Попробуйте, это работает:

private void UpdateDataSource()  
{   
    RegistryKey ChangeSettings = Registry.CurrentUser.OpenSubKey(@"Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3", true);   
    // "Access data sources across domains" - "Enable"   
    ChangeSettings.SetValue("1406", "0", RegistryValueKind.DWord);   
    // "Download unsigned ActiveX controls" - "Prompt"   
    ChangeSettings.SetValue("1004", "1", RegistryValueKind.DWord);   
    // "Initialize and script ActiveX controls not marked as safe for scripting" - "Enable"   
    ChangeSettings.SetValue("1201", "0", RegistryValueKind.DWord);   
    ChangeSettings.Close();  
} 
+0

Это работало для меня .. Спасибо .. Создал консольную программу и запускал код. Настройки немедленно отражаются, – Shubh

+0

@Rohit, спасибо за ваш ответ. У меня такая же проблема при изменении настроек Microsoft Office (изменение номера номера в контекстном режиме). Есть ли у вас какие-либо идеи? –

0

Потрясающе, он работает .. Это ключ:

RegistryKey ChangeSettings = Registry.CurrentUser.OpenSubKey (@ "Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ Zones \ 3", правда);

Смежные вопросы