大家好,
我正在尝试为我被要求开发但碰壁的软件创建一个注册表项。我进行了多次谷歌搜索,但无法进行更改。截至上次尝试,我的代码如下所示:
static void Main(string[] args)
{
RegistryKey Install = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true);
//string ToolKit = @"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run";
string AtStart = "ValueName";
string Value = @"C:\Program Files\SystemFolder\ToolFolder\Toolname.exe";
if (Install.GetValue(AtStart, Value).ToString() == null)
{
Install.SetValue(AtStart, @"C:\Program Files\SystemFolder\ToolFolder\Toolname.exe", RegistryValueKind.String);
//Registry.SetValue(ToolKit, AtStart, @"C:\Program Files\SystemFolder\ToolFolder\Toolname.exe");
}
else
{
Install.SetValue(AtStart, @"C:\Program Files\SystemFolder\ToolFolder\Toolname.exe", RegistryValueKind.String);
}
}
上面的代码确实可以正常运行。但是,该值从未在“运行”子项下的注册表中实现。正如您在上面看到的,我还尝试使用简单的“Registry.SetValue(...)”进行更改。非常感谢有关此问题的任何帮助。如果需要任何其他信息,请告诉我,我会在下面列出我能想到的所有重要事项
基本信息:
- 程序构建为控制台应用程序
- app.manifest 设置为“requireAdministrator”
- 存在“使用 Microsoft.Win32”
- 目标框架是.Net 4.5
- 在第 7 场和第 10 场比赛中使用,结果相同
最佳答案
扩展@steve 评论。 启用 32 位和 64 位应用程序访问 注册表的某些部分以统一的方式,WOW64 模拟器提供了一个称为注册表重定向的功能。它主要维护映射到 Wow6432Node 下物理位置的注册表项的单独逻辑 View 。 并非所有注册表项都受到影响,您可以在此处找到受影响的项:
关于c# - 在 C# 中将 reg 值写入本地计算机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46323258/