Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在系统启动时自动运行应用程序?_C#_Windows - Fatal编程技术网

C# 如何在系统启动时自动运行应用程序?

C# 如何在系统启动时自动运行应用程序?,c#,windows,C#,Windows,如何在不使用startup文件夹的情况下启动应用程序,有没有替代Windows服务的方法?注册表项可以做到这一点 启动时最常涉及的注册表项中的某个地方有“Run”一词。下面列出了它们,使用缩写HKLM表示主键(或“hive”),称为“HKEY_本地_机器”,HKCU表示hive“HKEY_当前_用户” HKLM\Software\Microsoft\Windows\CurrentVersion\Run HKLM\Software\Microsoft\Windows\CurrentVersion\

如何在不使用startup文件夹的情况下启动应用程序,有没有替代Windows服务的方法?

注册表项可以做到这一点

启动时最常涉及的注册表项中的某个地方有“Run”一词。下面列出了它们,使用缩写HKLM表示主键(或“hive”),称为“HKEY_本地_机器”,HKCU表示hive“HKEY_当前_用户”

HKLM\Software\Microsoft\Windows\CurrentVersion\Run HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce HKCU\Software\Microsoft\Windows\CurrentVersion\Run HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce HKCU\Software\Microsoft\Windows\CurrentVersion\Runoncex

您可能已经在其中的一些项目中添加了多个项目。 只需在那里添加其他项目

以下是HKLM\Software\Microsoft\Windows\CurrentVersion\Run在Regedit中的外观(运行->键入“Regedit”->Enter)。右窗格显示启动此系统时将运行的许多程序。


希望这有帮助:-)

将其放入注册表,如“HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”

您可以在注册表中创建密钥:

RegistryKey app = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
app.SetValue("name", Application.ExecutablePath.ToString());

这会将其添加到当前用户的启动应用程序中。

如果您只想为特定用户设置应用程序启动,请使用以下命令:
HKEY\U CURRENT\U USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

如果您想在所有用户中运行,请使用此选项:

HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

请记住,任何这些机制都会影响用户登录体验的性能,如果用户只在一天结束时锁定他们的机器——考虑使用任务调度器,那么你的代码就永远不会运行。然而,问题可能是如何自动将应用程序添加为启动项,而不是用于调度应用程序的运行。许多应用程序在登录时启动,这取决于此应用程序-这可能是正确的方法。当然,在启动时添加许多应用程序会影响登录。手动延迟启动是可能的,但会稍微麻烦一些,甚至可能不需要。启动文件夹实际上是个好主意。你不应该这么轻易就放弃它。它允许用户轻松管理从系统开始的应用程序。