2010-09-27 240 views
2

如何在不使用启动文件夹的情况下启动应用程序启动,有没有办法代替Windows服务?如何在系统启动时自动运行应用程序?

+1

请记住,任何这些机制会影响用户在性能方面的登录体验,并且如果用户在一天结束时锁定了他们的机器,那么您的代码将无法运行 - 请考虑使用Task Scheduler。 – JBRWilkinson 2010-09-27 07:57:36

+0

然而,问题可能在于如何自动将应用程序添加为启动项目,而不是用于计划应用程序的运行。许多应用程序在登录时启动并取决于此应用程序 - 这可能是一个正确的方法。自然而然地将许多应用程序添加到启动将影响登录。可以手动延迟启动,但会稍微麻烦一些,甚至可能不需要。 – AlexejK 2010-09-27 08:00:06

+0

启动文件夹实际上是一个好主意。你不应该轻易解雇它。它允许用户轻松管理哪些应用程序从系统启动。 – MSalters 2010-09-27 08:07:08

回答

3

您可以创建注册表项:

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

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

4

注册表项可以做到这一点。

与启动最常有关的注册表项在某处存在“运行”一词。下面列出了这些用缩写HKLM为各大键(或 “蜂巢”)被称为 “HKEY_LOCAL_MACHINE” 和HKCU为蜂巢 “HKEY_CURRENT_USER”

HKLM \软件\微软\的Windows \ CurrentVersion \ Run中 HKLM \ SOFTWARE \微软\的Windows \ CurrentVersion \的RunOnce HKLM \软件\微软\的Windows \ CurrentVersion \ RunServices HKLM \软件\微软\的Windows \ CurrentVersion \ RunServicesOnce HKCU \软件\微软\的Windows \ CurrentVersion \ Run中 HKCU \软件\微软\ Windows \ CurrentVersion \ RunOnce HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ RunOnceEx

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

以下是HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Run可能在Regedit(Run-> type“regedit” - > Enter)中查找的方式。右窗格显示了许多程序,这些程序将在系统启动时运行。 alt text

希望这有助于:-)

0

把它像注册表 “HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的Windows \ CurrentVersion \ Run中”

0

如果你想设置你的应用程序启动只为特定的用户,使用此:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

,如果ü要在所有用户运行使用thisone:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

相关问题