![无需登录即可在 Windows 启动时运行 vb6 应用程序 (.exe)](https://linux22.com/image/1330876/%E6%97%A0%E9%9C%80%E7%99%BB%E5%BD%95%E5%8D%B3%E5%8F%AF%E5%9C%A8%20Windows%20%E5%90%AF%E5%8A%A8%E6%97%B6%E8%BF%90%E8%A1%8C%20vb6%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%20(.exe).png)
我有几个旧版 Windows 应用程序(.exe 文件),我想在 Windows 启动时运行它们。请注意,我不想等到用户登录。我想像 Windows 服务一样运行它们。由于它们是旧版应用程序,我不想将它们转换为 Windows 服务。如果我将它们放在“启动”文件夹中,它们只会在用户登录时运行。我希望它们能够在没有人登录的情况下运行。
谢谢。
答案1
您可以尝试在任务计划程序中创建一个任务。将其指向您的 exe 文件并选择“无论用户是否登录都运行”选项。
答案2
您需要记住,用户必须具有“批处理运行”权限,然后任务计划程序可能是您的答案。
但值得注意的是,您认为理所当然的许多系统服务可能不适用于批处理任务。还请注意,这种意义上的“批处理”与“计划”不同,因为 Scheduler 在登录时启动的任务是交互运行的。
对于真正的批处理任务来说,视频捕获之类的功能可能并不存在,而且我相信即使用户登录后也不可能进行用户交互(即使是同一个用户)。这需要测试才能确定。
另一个问题可能是诸如 USB 集线器和设备识别以及“安装”之类的事情,当 Scheduler 启动您的“启动时”任务时,这些事情可能尚未完成。网络也有一些相同的注意事项,尤其是对于无线而言。UPnP NAT 服务也需要时间,并且要等到 Windows 完成从 LAN 上的其他节点(路由器、其他 PC 等)收集回复后才能使用。这意味着您有时必须在程序中延迟一分钟或更长时间,直到预期的服务全部可用。
如果用户设置为自动登录,并且具有启动文件夹任务,则可能会遇到同样的情况。即使任务在自动登录后运行,系统服务可能仍在初始化。
答案3
Microsoft Windows 服务(以前称为 NT 服务)使您能够创建在其自己的 Windows 会话中运行的长期可执行应用程序,然后该会话具有自动启动能力当计算机启动时也可以手动暂停,停止甚至重新启动。