使用C#自动运行应用程序

时间:2011-09-30 09:09:43

标签: c# autorun

我想创建一个在启动计算机后自动运行的应用程序。

任何人都可以帮我解决如何在C#上进行操作。

4 个答案:

答案 0 :(得分:20)

这是您向启动添加应用的方式:

// The path to the key where Windows looks for startup applications
RegistryKey rkApp = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);

if (!IsStartupItem())
    // Add the value in the registry so that the application runs at startup
    rkApp.SetValue("My app's name", Application.ExecutablePath.ToString());

要删除它:

// The path to the key where Windows looks for startup applications
RegistryKey rkApp = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);

if(IsStartupItem())
    // Remove the value from the registry so that the application doesn't start
    rkApp.DeleteValue("My app's name", false);

我的代码中的IsStartupItem函数:

private bool IsStartupItem()
{
    // The path to the key where Windows looks for startup applications
    RegistryKey rkApp = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);

    if (rkApp.GetValue("My app's name") == null)
        // The value doesn't exist, the application is not set to run at startup
        return false;
    else
        // The value exists, the application is set to run at startup
        return true;
}

答案 1 :(得分:4)

为您的应用程序注册创建Windows服务,即windows服务并将启动属性设置为自动。 现在,当Windows启动时,您的服务将自动启动 和 看到这个链接: http://www.geekpedia.com/tutorial151_Run-the-application-at-Windows-startup.html

答案 2 :(得分:2)

程序实现此目的的大多数方式是通过安装程序,它可以做很多事情,包括修改注册表以确保他们的程序在启动时启动,但是你应该总是给你的用户选择禁用此行为。

答案 3 :(得分:2)

我认为更好的方式而不是在注册表中添加密钥也会在Windows StartUp文件夹中添加一个快捷方式:它对用户更透明,您可以选择让用户删除快捷方式如果他不希望你的应用程序在Windows启动时启动。