3

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

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

谢谢您的帮助!

4

4 回答 4

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 代码非常相似。

于 2009-09-15T20:38:48.137 回答
3

使用Environment.GetFolderPath获取启动文件夹。

于 2009-09-15T20:41:32.703 回答
2

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

于 2009-09-15T20:39:45.977 回答
1

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

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

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

于 2009-09-15T20:38:52.017 回答