用于启动和重新启动用户进程的Windows服务(带有GUI)

Windows Service for launching and restarting a user process (with GUI)

本文关键字:服务 带有 GUI Windows 启动 重新启动 用户 进程 用于      更新时间:2023-10-16

我需要在每个用户的计算机上持续运行某个进程。如果.exe被杀死,我必须能够重新启动它并发送警报。
我立即想到建立一个Windows服务作为理想的解决方案,但我面临一个问题:

  • 由该服务启动的进程需要能够与用户交互,例如能够向他显示GUI。
  • 我的应用程序还设置了一个键盘钩子,以监视用户的打字节奏,当我从一个服务启动。exe时,该信息是不可访问的。

从服务中,我能够"作为用户"启动进程(使用LogonUser和CreateProcessAsUser函数),但仍然看不到GUI。
这可能吗?如果没有,我可以使用什么来实现所需的功能?

tia

默认情况下,GUI .exe将在服务会话中运行,该会话与用户的交互会话分开。您需要研究构建交互式服务的技术。