我希望我的用户能够在启动时打开我的程序。我在vb.net编码。我怎么能这样做呢?
我无法在任何可以复制快捷方式的地方找到“系统启动”文件夹。
感谢您的帮助!
答案 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或其他安装程序时注册应用程序以进行自动启动的选项。