在IIS下读取HKEY_CURRENT_USER

时间:2014-11-07 00:15:21

标签: c# iis registry

我正在尝试阅读注册表路径

HKEY_CURRENT_USER \ SOFTWARE \ MyFolder文件

运行以下代码

RegistryKey key1 = Registry.CurrentUser.OpenSubKey(path);
if (key1 != null)
{
    RegistryKey key2 = key1.OpenSubKey(subPath);
    if (key2 != null)
    {
        return key2.GetValue(registryKey);
    }
}

其中path = Software和subPath = MyFolder

  1. key2始终为NULL
  2. 我相信这段代码实际上是从HKEY_LOCAL_MACHINE \ Software \ MyFolder读取的,因为它会在IIS帐户下默认为此(我在应用程序池标识下运行)
  3. 如何强制此代码访问HKEY_CURRENT_USER?我是否需要更改应用程序池的标识?或者其他一些方式?

2 个答案:

答案 0 :(得分:1)

这是一个网络应用程序 - 我会远离注册表。将信息放在配置文件或数据库中。其他人已经解释了为什么你不能打开它。这是关于它的更多信息。

Link for information below.

•HKEY_LOCAL_MACHINE(H​​KLM):包含与系统上安装的所有硬件设备和软件程序相关的配置信息。

•HKEY_USERS(HKU):包含与系统上配置的所有用户配置文件相关的信息。 HKEY_USERS键有一个模板,系统使用该模板生成具有默认配置的新用户配置文件。

•HKEY_CLASSES_ROOT(HKCR):存储有关您计算机上注册的文件类型和扩展名,协议和类的信息。此密钥是特定于用户的,并从HKLM密钥中提取用户特定的数据。 HKCR子树中显示的信息来自HKLMSOFTWAREClasses和HKCUSOFTWAREClasses键。

•HKEY_CURRENT_USER(HKCU):HKEY_CURRENT_USER键包含与桌面设置,变量,变量,环境用户文件夹以及当前用户的其他用户特定设置相关的信息。与HKCR一样,此密钥从HKU密钥中提取用户特定信息。此密钥显示的信息将从登录系统的用户的HKUSecurity ID密钥中提取。

•HKEY_CURRENT_CONFIG(HKCC):此密钥包含有关当前用户的硬件配置的信息。此密钥从HKLMSYSTEM CurrentControlSet CurrentControlSetHardware配置文件密钥中提取相关信息。

如果您决定仍然使用注册表 - 将信息存储在HKLM中。

答案 1 :(得分:1)

对于我在Windows Server上部署到IIS时,IIS的HKCU位于 \ HKEY_USERS \ S-1-5-18