无需登录即可在 Windows 启动时运行 vb6 应用程序 (.exe)

无需登录即可在 Windows 启动时运行 vb6 应用程序 (.exe)

我有几个旧版 Windows 应用程序(.exe 文件),我想在 Windows 启动时运行它们。请注意,我不想等到用户登录。我想像 Windows 服务一样运行它们。由于它们是旧版应用程序,我不想将它们转换为 Windows 服务。如果我将它们放在“启动”文件夹中,它们只会在用户登录时运行。我希望它们能够在没有人登录的情况下运行。

谢谢。

答案1

您可以尝试在任务计划程序中创建一个任务。将其指向您的 exe 文件并选择“无论用户是否登录都运行”选项。

答案2

您需要记住,用户必须具有“批处理运行”权限,然后任务计划程序可能是您的答案。

但值得注意的是,您认为理所当然的许多系统服务可能不适用于批处理任务。还请注意,这种意义上的“批处理”与“计划”不同,因为 Scheduler 在登录时启动的任务是交互运行的。

对于真正的批处理任务来说,视频捕获之类的功能可能并不存在,而且我相信即使用户登录后也不可能进行用户交互(即使是同一个用户)。这需要测试才能确定。

另一个问题可能是诸如 USB 集线器和设备识别以及“安装”之类的事情,当 Scheduler 启动您的“启动时”任务时,这些事情可能尚未完成。网络也有一些相同的注意事项,尤其是对于无线而言。UPnP NAT 服务也需要时间,并且要等到 Windows 完成从 LAN 上的其他节点(路由器、其他 PC 等)收集回复后才能使用。这意味着您有时必须在程序中延迟一分钟或更长时间,直到预期的服务全部可用。

如果用户设置为自动登录,并且具有启动文件夹任务,则可能会遇到同样的情况。即使任务在自动登录后运行,系统服务可能仍在初始化。

答案3

Microsoft Windows 服务(以前称为 NT 服务)使您能够创建在其自己的 Windows 会话中运行的长期可执行应用程序,然后该会话具有自动启动能力当计算机启动时也可以手动暂停,停止甚至重新启动。

简单 Windows 服务示例

如何使用 Sc.exe 创建 Windows 服务

相关内容