Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何在启动时打开程序?_Vb.net_Startup - Fatal编程技术网

Vb.net 如何在启动时打开程序?

Vb.net 如何在启动时打开程序?,vb.net,startup,Vb.net,Startup,我希望我的用户能够在启动时打开我的程序。我正在用vb.net编写代码。我该怎么做呢 我在任何地方都找不到可以复制快捷方式的“系统启动”文件夹 谢谢你的帮助 使用注册表写入程序的名称(键)和完整路径(值) HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 注意:这将在用户登录时加载,而不是在

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

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


谢谢你的帮助

使用注册表写入程序的名称(键)和完整路径(值)

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

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

C:\Documents and Settings\\Start Menu\Programs\Startup


我相信这是应用程序注册启动的推荐位置。大多数安装程序包都会提供注册应用程序的选项,以便在生成并运行.msi或其他安装程序时自动启动。

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

用于获取文件夹。

这更多是操作系统的事情,而不是编程相关的任务。如果你提供一些关于你正在使用的操作系统(WindowsXP/Vista/7)的信息,这会有所帮助。它主要针对XP用户。这是一个编程问题,我想知道如何以编程方式添加它。但不要假设它存在,使用API来查找它。这是一个很好的观点。此路径不稳定,应通过您在回答中引用的Environment.GetFolderPath方法定位。也许您可以解释为什么这不是一种有效的方法。这些注册表项是否已弃用?是否有任何与注册表无关的选项?为什么要避免使用注册表?Mcaffee会在我试图使用的程序编辑注册表时警告我,我不希望我的程序触发任何可能使它们崩溃的事件。它会起作用,这是令人难以置信的恼人和间谍软件式的。windows服务组件足以满足这一要求吗?我认为服务在这里是过分的。