【发布时间】:2012-03-29 16:52:43
【问题描述】:
在我的 C# WPF 应用程序中,我通过在启动注册表中创建一个新键来将应用程序设置为启动应用程序,如下所示:
RegistryKey startapp = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\CurrentVersion\\Run", true);
startapp.SetValue("Myexe.exe", Aseembly.GetExecutingAssembly().Location);
Process.Start("Myexe.exe", url);
这运行正常并且注册表值被设置,如在 regedit 中检查的那样。用户应该具有设置注册表的管理权限。
另外,问题是在重新启动计算机时,我注意到只有在关闭用户帐户控制(安全性最低)而不是默认设置时,应用程序才会在启动时运行。我的计算机中的其他应用程序(例如 Google Talk 等)不是这种情况吗?那么,如何让我的应用程序在启动时运行,即使用户帐户控制 UAC 设置有点高?
【问题讨论】:
-
您的其他应用程序需要什么样的权限?
-
@sixlettervariables: 管理员权限
-
我怀疑 Google Talk 需要管理权限才能在启动时运行。您应该使用服务帐户将进程作为服务运行。
-
在这种情况下你能举个例子吗?