2012-04-08 61 views
0

在我们的软件中,用户可以选择在系统启动过程中使应用程序“自动运行”。但是,用户可能没有管理员权限。在这种情况下,他将无权更新注册表。我已经尝试了以下两种不带管理员权限的路径,并且访问被拒绝。如何“自动运行”一个没有管理员权限的程序?

HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Run 
HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run 

那么,有没有办法,我能“自动运行”程序W/O具有平台无关(Win7的,Vista中,XP等)的管理权限,?谢谢!

+1

开始菜单中的“启动”文件夹将自动运行您。不知道你是否需要放置快捷方式的权利。 – 2012-04-08 14:58:29

+0

谢谢。就我个人而言,我不喜欢在该文件夹中添加/删除快捷方式,特别是在代码中。此外,它可能只是在注册表下面添加一个条目,无论如何都需要权限。 – 2012-04-08 15:19:21

+1

Startup文件夹中的条目更加“用户友好”,因为用户可以通过使用Windows开始菜单轻松看到已添加的内容。把一些东西放到'CurrentVersion \ Run'中,对我来说有一些“后门”的味道(至少如果用户没有明确地问)。只有少数人会使用注册表来检查注册表中的这些条目。 – 2012-04-08 15:23:12

回答

1

对此的最合理解释是您的防病毒软件阻止您尝试写入此密钥。是的,有人可能会将某个ACL应用于该密钥以拒绝您写入访问权限,但这种可能性不大。另一方面,防病毒软件对修改该特定密钥的程序采取例外情况非常普遍。

2

您不应该要求管理员权限才能写入HKCU \ Software \ Microsoft \ Windows \ CurrentVersion - ACL允许当前用户读取和写入该密钥。

+0

没有太多的答案......也许这提示我们问OP如何做?他可能做错了。你会推荐什么方法? – 2012-04-08 15:32:29

+0

我了解到,大多数HKCU下的密钥都可以访问不带管理员权限,但它是通过逐个密钥来确定的。当我尝试在HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Run中手动添加条目时,它表明我没有权限。 – 2012-04-08 15:35:00

+0

该密钥的默认安全性是允许用户访问。有人必须更改该密钥的默认安全性以防止用户访问。您需要弄清楚谁更改了默认安全性并要求他们停止。 – 2012-04-08 16:10:00

相关问题