如何在Windows启动时自动运行应用程序?

如何在Windows启动时自动运行应用程序?

我有一个用 VB.Net 编写的控制台应用程序。我只想让它在计算机启动时自动运行。

答案1

在注册表中创建一个条目

HKLM\Software\Microsoft\Windows\CurrentVersion\Run
  1. 启动 regedit.exe
  2. 导航到 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
  3. 创建一个新的字符串值并赋予它你喜欢的标题(这只是为了让你记住它是什么)
  4. 将值设置为您想要运行的 EXE 的完整路径(和参数)。

答案2

您只需将其添加到 Windows 开始菜单中的启动文件夹中,它就会随计算机启动。

答案3

我会在任务计划程序中进行设置,从控制面板/管理工具运行计划程序,创建一个新任务并将触发器设置为“当计算机启动时”。

或者您可以在安装程序中执行此操作,或者使用在安装程序中运行的 Microsoft.Win32.TaskScheduler.dll 编写一些代码。

答案4

我认为这里的问题是,作为一名程序员,如何让程序在计算机启动时自动运行,就像用户登录计算机后自动启动的防病毒程序一样。

我也在寻找相同的答案,例如自动运行程序的代码,计算机将读取该程序然后执行该程序。

如果您是 vb.net 用户,这里是我设法编写的一行代码,用于在计算机上自动写入并保存自动运行。

首先,您需要找到计算机查找自动运行的正确位置或目录,如果您的目标是使用 Windows XP 的用户,则目录就是驱动器“C”。您还必须检查那里是否已经有自动运行,因为计算机不会存储两个相同的文件。因此,如果有自动运行,那么您只需对其进行编辑,并记住已经存在的自动运行是为另一个程序存储的。您不必删除或覆盖它,因为使用它的程序不会自动运行。

在 form_load 上的代码中,您首先必须检查自动运行是否存在,因此您可以按照以下方法操作。请记住,这些代码将放在 Form_load 下

Private Sub Form1_Load()
If my.computer.filesystems.fileExist("C:\autorun.inf") Then
Dim auto-run As String()
auto-run = vbCrl & "[autorun]" & vbCrl & "icon=your icon.ico" & vb Crl & "open=your application name.exe" & vbCrl & "action=Run" & vbCrl & "shell\open\command=your location when your application will or is installed at.exe[autorun]"

注意:为了避免错误,请将上述所有代码写在一行中。现在您需要在此处写入代码。我假设驱动器 C 上有自动运行,因此请继续编辑它。

my.computer.Filesystems.writeAllText("C:\autorun.inf",auto-run,True)

Else
If my.computer.filesystems.FileExist("C:\done.txt") Then
' Do nothing
Else
my.computer.Filesystems.writeAllText("C:\autorun.inf",auto-run,True)
my.computer.Filesystems.writeAllText("C:\done.txt","Autorun created",True)
End If
End If
End Sub

这就是代码,但请记住,在其他计算机上,您的程序将需要读取和写入驱动器的权限,因此您必须授予您的程序也在代码中完成的权限。

我们还检查自动运行是否已创建。如果已创建,则我们阻止程序始终创建自动运行,因为这会使我们的自动运行混乱。因此这只会写入一次。

请注意,Windows 7 不支持此功能,因此我仍在尝试发明新方法或获取新方法。我认为如果您正在使用或针对 Windows 7 或 8,Jesus r 的答案是最好的答案。

自动完成 Jesus R 的答案的最佳方法是首先了解启动文件夹的默认目录。然后,当您创建安装向导时,您只需指示它将您的程序保存在启动文件夹中。

相关内容