繁体   English   中英

如何在Windows启动时启动应用程序?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM