【发布时间】:2012-04-08 14:56:30
【问题描述】:
在我们的软件中,用户可以选择在系统启动时使应用程序“自动运行”。但是,用户可能没有管理员权限。在这种情况下,他将无权更新注册表。我已经尝试了以下两种没有管理员权限的路径,但访问被拒绝。
HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Run
HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run
那么,无论平台(Win7、Vista、XP 等)如何,我有什么方法可以“自动运行”没有管理员权限的程序?谢谢!
【问题讨论】:
-
开始菜单中的“启动”文件夹会自动运行您。不确定您是否需要在此处放置快捷方式的权限。
-
谢谢。就我个人而言,我不喜欢在该文件夹中添加/删除快捷方式,尤其是在代码中。此外,它可能只是在下面的注册表中添加了一个条目,无论如何都需要权限。
-
启动文件夹中的条目更加“用户友好”,因为用户可以通过使用 Windows 开始菜单轻松看到已添加的内容。将某些东西放入
CurrentVersion\Run对我来说有一些“后门”的味道(至少如果没有明确询问用户)。只有少数人会使用 regedit 检查注册表中的此类条目。 -
嗯,你可以在其他地方写入开始菜单...
-
@a_horse_with_no_name,如果用户检查自动运行程序,他应该知道。无论是保存在注册表还是其他地方,都是大多数用户不会关心的实现细节。嗯,你是对的。如果有其他方法,我宁愿根本不碰注册表。使用 UAC 非常困难。