Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 存储应用程序设置|注册表_C#_.net_Settings_Application Settings - Fatal编程技术网

C# 存储应用程序设置|注册表

C# 存储应用程序设置|注册表,c#,.net,settings,application-settings,C#,.net,Settings,Application Settings,我使用HKLM\Software\etc\etc存储我的基本设置,基本上是我的程序及其相关数据库的位置 我现在的问题是,我已经创建了一个Windows服务,需要读取这些位置。我无法以LocalService或LocalSystem的形式读取注册表设置,因为这些用户帐户当然不存在HKLM\Software\etc\etc,因此该服务在LocalService或LocalSystem下运行 是否有可用于持久化该数据并可供这些服务访问的注册表配置单元 似乎我需要创建一个文本文件并将这些数据存储在文件系

我使用HKLM\Software\etc\etc存储我的基本设置,基本上是我的程序及其相关数据库的位置

我现在的问题是,我已经创建了一个Windows服务,需要读取这些位置。我无法以LocalService或LocalSystem的形式读取注册表设置,因为这些用户帐户当然不存在HKLM\Software\etc\etc,因此该服务在LocalService或LocalSystem下运行

是否有可用于持久化该数据并可供这些服务访问的注册表配置单元


似乎我需要创建一个文本文件并将这些数据存储在文件系统的某个位置,但在此之前,是否有任何文件位置保证在每个人的计算机上都是相同的。我想我需要使用一个标准的环境变量。
LocalService
帐户可以访问
HKCU\Software\…


请看

我知道我在回答我自己的问题,但是

老实说,我认为这是不可能的。首先,LocalService帐户在HKCU配置单元中打开自己的配置单元,因此它不会加载未为自己使用设置的设置。由于LocalService实际上不是一个用户帐户,我也怀疑您是否可以写入它的配置单元

我看了一下模拟,但是我不知道要模拟谁,更不用说他们的密码了,而且在任何情况下,模拟都不会加载那个人的蜂巢

可能可以搜索注册表,但是可能有两个或多个用户正在使用您的程序,因此无法确定哪个是哪个


我现在能想到的唯一常量是%ALLUSERSPROFILE%环境变量,除非有人能想出另一个选项,否则我将在注册表之外编写一个xml文件,其中包含我需要的数据。

我的可能副本实际上几乎到处都找过,但对于注册表中的位置没有明确的答案一个至少每个人都可以读取的存储值。我刚刚运行了一个测试项目,不幸的是,注册表的读取没有工作,尽管我想它应该可以。让我再看一遍……谢谢你的投票,非常感谢。