如何在启动时打开程序?

时间:2009-09-15 20:31:33

标签: vb.net startup

我希望我的用户能够在启动时打开我的程序。我在vb.net编码。我怎么能这样做呢?

我无法在任何可以复制快捷方式的地方找到“系统启动”文件夹。

感谢您的帮助!

4 个答案:

答案 0 :(得分:3)

使用注册表编写程序的名称(密钥)和完整路径(值)。

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

请注意,这将在用户登录时加载,而不是在系统启动时加载。你需要一项服务,正如乔尔所说的那样。

在c#.net中执行此操作:

public string GetRegistryValue(String key)
{
   return Convert.ToString(Registry.GetValue (@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run", key, ""));
}

public void SetRegistryValue(String key, String value)
{
   Registry.SetValue (@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run", key, value);
}

VB.net代码非常相似。

答案 1 :(得分:3)

使用Environment.GetFolderPath获取Startup文件夹。

答案 2 :(得分:2)

如果您希望程序在 system 启动时运行,则需要将其构建为服务。更有可能的是,您希望它在用户登录时运行。为此,您可以在解决方案中配置安装程序项目,以便在用户在安装期间单击单选按钮时将图标放入启动文件夹中。

答案 3 :(得分:1)

有一些地方注册了自动启动应用程序。在Windows XP和Vista中,一个这样的位置位于用户的“Startup”文件夹中。

C:\Documents and Settings\<username>\Start Menu\Programs\Startup

我相信这是应用程序为启动注册自己的推荐位置。大多数安装打包程序都会提供在构建和运行.msi或其他安装程序时注册应用程序以进行自动启动的选项。