[英]How to start application on Windows startup?
我正在创建C ++应用程序,并希望为用户提供启动Windows时启动我的应用程序的选项。 首先要记住的是,我使用Windows注册表进行设置,但不知道在哪里写和写什么。 另外,用户在运行我的应用程序时是否需要具有管理员权限,以便能够在需要时在Windows注册表的该部分中进行写入?
您将需要使用Software\\Microsoft\\Windows\\CurrentVersion\\Run
键(有关其他信息,请参见MSDN )。 (字符串)值应该是您的应用程序的路径。
您不需要管理特权即可在HKEY_CURRENT_USER
创建它,但是您的应用程序仅在当前用户的会话中启动。 如果您需要为所有用户自动启动,请使用具有提升特权的HKEY_LOCAL_MACHINE
配置单元!
注册表是这样做的隐藏方法。 “程序”菜单中的“启动”文件夹是用户可见的方式。 请参阅CSIDL_STARTUP
。 无需管理员权限,这是每个用户的设置。 CSIDL_COMMON_STARTUP
需要管理员权限。
您可以添加应用程序以通过注册表启动。 我为您编写了一个示例函数
public void AddToStartup(string name)
{
RegistryKey rkApp = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
rkApp.SetValue(name + ".exe", Application.ExecutablePath.ToString());
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.