从 Windows 服务启动 exe 应用程序

本文关键字:exe 应用程序 启动 服务 Windows | 更新日期: 2023-09-27 18:32:34

我有一个服务,应该根据某些条件打开一个exe应用程序(C#应用程序)。当服务在调试模式(Visual studio)下启动时,它会打开应用程序。但是当它作为服务安装时,它不会这样做。它无法打开应用程序。为什么会这样?

从 Windows 服务启动 exe 应用程序

在正常情况下,您尝试执行的操作无法直接实现 - 仅从Windows服务代码在新进程中启动应用程序恐怕不会与当前登录用户的GUI交互。

但是,有一些方法可以在服务和 GUI 之间进行通信。

此讨论可能会为您指明正确的方向。

根据您的评论,我认为您在这里真正寻找的是普通的用户空间应用程序和调度程序。您可能希望使用 Windows 自己的计划程序在每个星期一运行应用程序(如果它是一个始终在线的框),或者将应用程序置于启动状态。当应用程序运行时,它应检查一周中的当前日期,如果它是星期一,并且应用程序以前未在这一天运行,则应用程序应启动。如果没有,您可以安全地完全终止应用程序。

感谢您的回答!我找到了解决方案,并在此处发布。我创建了一个虚拟应用程序,该应用程序在启动时隐藏,它执行与服务预期完全相同的功能。

1.创建一个虚拟应用程序(将粘贴代码从服务复制到表单应用程序)启动后将其隐藏。2.安装后立即启动应用程序。3.添加注册表项,以便在系统重新启动后启动。

简单来说,就是克隆服务行为。