Windows XP: куда писать в реестр из IE? - PullRequest
1 голос
/ 23 февраля 2012

Мне нужно прочитать / записать некоторую информацию в реестре Windows из моего BHO. В Windows Vista / 7 я создаю новый ключ в папке HKEY_CURRENT_USER \ Software \ AppDataLow \ Software. Это отлично работает, даже в защищенном режиме.

Тем не менее, он не работает на XP. Я попытался изменить реестр на HKEY_CURRENT_USER \ Software \ Classes \ Software или HKEY_CURRENT_USER \ Software, не повезло.

Какой ключ реестра использовать в Windows XP для BHO?

IEGetWriteableHKCU не существует в Windows XP, он был впервые добавлен в Windows Vista

Ответы [ 2 ]

4 голосов
/ 28 февраля 2012

До Vista вам придется использовать другой подход ... во время установки BHO вам нужно сообщить Windows / IE, какие ключи вы хотите записать из BHO ...

Для этого существует целое семейство API (поддерживается в WinXP SP2 и более поздних версиях в соответствии с MSDN):

3 голосов
/ 17 октября 2012

IE 7,8,9, (рабочий стол) 10 запускают вкладки в «Защищенном режиме», который ограничивает записи реестра специальным «доступным для записи» разделом.Вам нужно запросить у IE указатель.

(C #)

// C# PInvoke declaration for needed IE method.
[DllImport("ieframe.dll")]
public static extern int IEGetWriteableHKCU(ref IntPtr phKey); 

// ...
        // somewhere inside other method:
        IntPtr phKey = new IntPtr();
        var answer = IEGetWriteableHKCU(ref phKey);
        RegistryKey writeable_registry = RegistryKey.FromHandle(
            new Microsoft.Win32.SafeHandles.SafeRegistryHandle(phKey, true)
        );
        RegistryKey registryKey = writeable_registry.OpenSubKey(RegistryPathString, true);
        if (registryKey == null) {
            registryKey = writeable_registry.CreateSubKey(RegistryPathString);
        }
        registryKey.SetValue("Mode", mode);
        writeable_registry.Close();

См .:

О Защищенный режим : http://www.codeproject.com/Articles/18866/A-Developer-s-Survival-Guide-to-IE-Protected-Mode

О Расширенный защищенный режим : http://blogs.msdn.com/b/ieinternals/archive/2012/03/23/understanding-ie10-enhanced-protected-mode-network-security-addons-cookies-metro-desktop.aspx

...