我有一个程序(带 GUI)可以在 Windows 中全天候运行。当 PC 重新启动时(例如断电一段时间后),我希望计算机继续运行该应用程序,因此我创建了一个任务计划程序基本任务,以便在启动时运行该应用程序。
- 当任务设置为在系统启动时启动而不关心用户时,由于应用程序在后台启动,因此无法看到应用程序 GUI。当我登录时,我看不到它,因为它在后台启动,无法将其带到前台。
- 如果我选择当特定用户(顺便说一下,系统中只有 1 个用户)登录时启动应用程序,则无法实现“全天候运行应用程序”的要求,因为需要手动用户登录才能启动该程序。那么,我们如何才能将 Windows 上的 GUI 程序设置为始终运行?
答案1
自动登录是 Microsoft 的一个工具,用于在启动时自动执行用户登录:
https://learn.microsoft.com/en-us/sysinternals/downloads/autologon
显然这不是很安全 - 阅读链接页面上的详细信息。但是,这是让带有 GUI 的软件在启动时在有效、可查看的会话中自动启动的唯一方法之一。
大多数软件的后端服务流程通常与前端 GUI 分离,就像 Web 服务器与浏览器分离一样。我建议尽可能寻找类似的解决方案
答案2
可以使应用程序作为 Windows服务。
- A服务可以设置为如果发生故障或者中断则自动重新启动。
- A服务可以设置为在指定的凭据下运行。如果以系统身份运行,则所有人都可以使用,但只有管理员可以访问。但是,可以使用以下凭据运行服务:用户。
- 窗户服务 不能有 GUI本身,但有一个解决方法:使服务启动 GUI 的控制器。 也可以看看微软和代码项目。
到使 Windows 应用程序作为服务运行,使用第三方工具,例如服务启动(您可能需要构建)或国家安全监测中心使每个应用程序成为一项服务。将其Start
价值到 2 (自动),或根据需要其他设置。
注意事项:
- 使用服务需要将其作为服务启动和停止。
- 用于创建服务的应用程序被视为“黑客工具”,因为它们在深层系统层面上做出更改,而用户却看不到。
- 小心...此过程中的错误可能会导致系统无法使用。制作磁盘映像所以如果出现问题您可以回滚!