2009-10-12 87 views

回答

1

您可以在启动文件夹中为您的winforms程序添加快捷方式。安装项目的文件系统是您需要查看的地方。

7

打开注册表,找到关键

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]. 

对于要自动启动创建使用描述性名称的新字符串值的每个程序,并设置该字符串的可执行程序的价值。

例如,自动启动记事本,加

"Notepad"="c:\windows\notepad.exe". 

一个新的条目。如果你想删除程序删除启动应用程序 和启动文件夹不能找到它(通常C:\WINDOWS\Start Menu\Programs\StartUp ),那么它可能会从下面的一个注册表项启动。要删除它,请删除与要删除的程序关联的值。

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run] 
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce] 
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices] 
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce] 
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit] 

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run] 
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce] 
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices] 
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce] 
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows] 

来源:http://www.pctools.com/guides/registry/detail/109/

1

从技术上讲,你不能让一个WinForms应用程序启动时, “Windows正在启动”;但是,您可以在有人登录到Windows时启动它。要执行该操作,请执行以下三项之一:

  1. 在当前用户的启动文件夹中放置一个快捷方式。
  2. 在“All Users”启动文件夹中放置一个快捷方式。
  3. 写注册表键HKLM /软件/微软/在Windows/CURRENTVERSION /运行

更新:克里斯指出我错过了HKCU路径。

+0

对,那么我如何配置安装程序来支持这个? – andrewWinn 2009-10-13 11:50:24

+0

简单的方法是创建安装程序util类,请参阅http://msdn.microsoft.com/en-us/library/system.configuration.install.installer.aspx – 2009-10-13 21:02:46

2

如果您确实需要在Windows启动时启动应用程序,而不是在某人登录时,则需要将其创建为服务,并在安装时将服务设置为“自动”。

有在网络上的许多地方,会给你有关这一点:

的前三个我发现,但做一些研究并找到适合您的资源。

UPDATE

我从更新的疑问,要求是程序,当有人登录所以这个答案是(到一定程度)冗余运行看。但是,如果有人想要进入服务根源,我会将其留在这里。

1

运行每次的Windows开始你应该建立你的程序作为Windows服务(或者从服务劳克它)。

相关问题