我想创建一个在启动计算机后自动运行的应用程序。
任何人都可以帮我解决如何在C#上进行操作。
答案 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启动时启动。