我编写了一个应在Windows启动时启动的应用程序。我在HKCU \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run中的Windows注册中添加了一个条目。条目已成功添加,但是程序无法正常启动。
我已经在Windows 7 64位上测试了应用程序。
应用程序需要具有管理员权限才能运行,也许这就是为什么它无法启动的原因?
我还看到条目的值不在引号中,而其他值在引号中。它是强制性的吗?
这是我的C#代码:
var registry = Registry.CurrentUser;
var key = registry.OpenSubKey(runKeyBase, true);
key.SetValue(KEY, directory + @"\" + filename);
Registry.CurrentUser.Flush();
我怎么不能使它工作?
最佳答案
据我所知,这是由于用户访问控制设置所致,该设置仅允许已签名的应用程序启动,否则它将要求管理员权限。
因此,在启动过程中,即使您已完成注册表设置,OS也不会运行该应用程序。
另外,报价不是强制性的。您可以选择是否拥有它们。
我的方法是在“启动”文件夹中放置一个快捷方式。注册表设置将不起作用。
此外,您可以尝试的一件事是将文件放在/ system32或/ windows中,然后尝试在注册表中进行设置。