C++ 如何以及在注册表中写入什么以在Windows启动时自动重新启动程序

C++ 如何以及在注册表中写入什么以在Windows启动时自动重新启动程序,c++,windows,visual-studio-2010,registry,C++,Windows,Visual Studio 2010,Registry,我想设计这样一个程序,每当它被安装,它应该是自动重新启动的Windows启动的所有用户的Windows 我最重要的要求是,我不能给我的程序管理员权限,因为它必须在有限的帐户上运行,或者有时在UAC启用到最高级别的管理员帐户上运行 要实现这一点,我应该在注册表中写入什么内容以及在何处写入。。或者,如果没有管理员权限,无法为所有用户修改注册表,那么在Windows启动后是否有其他方法重新启动程序 据我所知,另一种方法是在启动文件夹中安装我们的程序。。但是,请让我知道,对于所有用户来说,在没有管理员权

我想设计这样一个程序,每当它被安装,它应该是自动重新启动的Windows启动的所有用户的Windows

我最重要的要求是,我不能给我的程序管理员权限,因为它必须在有限的帐户上运行,或者有时在UAC启用到最高级别的管理员帐户上运行

要实现这一点,我应该在注册表中写入什么内容以及在何处写入。。或者,如果没有管理员权限,无法为所有用户修改注册表,那么在Windows启动后是否有其他方法重新启动程序


据我所知,另一种方法是在启动文件夹中安装我们的程序。。但是,请让我知道,对于所有用户来说,在没有管理员权限的情况下在startup文件夹中安装程序是否可行,并且即使对于有限的帐户用户,是否可以在startup文件夹中执行所有写操作?

简单的答案是:您不能。Vista及以上版本(以及XP,如果您不是在超级用户或管理员帐户下运行)没有对
HKEY\U LOCAL\u机器的写入权限


您还需要管理权限来为所有用户安装应用程序;如果没有该权限,您只能为当前登录的用户安装。这意味着在“所有用户”启动文件夹中安装快捷方式也将不起作用。

除非存在可利用的安全漏洞,否则只有管理员帐户才能执行影响计算机上其他用户的操作,例如在HEY_LOCAL_计算机中设置密钥,通过任务调度器为其他用户注册要运行的程序,或者安装服务。这是出于设计。

如果有简单/明显/受支持的方法绕过安全系统,那么拥有安全系统的意义何在?想象一下,如果这是可能的话。一个有限的用户可以将任何他们想要的东西放入全局启动组,并且在管理员下次登录时运行该组。这台机器将完全受损。