我有一个应该根据某些条件打开exe应用程序(C#Application)的服务。在调试模式(Visual Studio)中启动服务时,它会打开应用程序。但是当它作为服务安装时,它不会这样做。它无法打开应用程序。为什么会这样?
答案 0 :(得分:1)
在正常情况下,您尝试做的事情是不可能的 - 只需在Windows服务代码的新流程中启动应用程序,就不会与当前登录用户的GUI进行交互,我担心
然而,服务和GUI之间存在通信的方式。
答案 1 :(得分:0)
根据您的评论,我认为您在这里寻找的是一个普通的用户空间应用程序和一个调度程序。您可能希望使用Windows自己的调度程序在每个星期一运行应用程序,如果它是一个永远在线的框,或者将应用程序放在启动中。当应用程序运行时,它应该检查当前的星期几,如果它是星期一,并且应用程序以前没有运行过,那么应用程序应该启动。如果没有,您可以完全安全地终止该应用程序。
答案 2 :(得分:0)
感谢您的回答!我找到了一个解决方案,我发布在这里。 我创建了一个虚拟应用程序,它在启动时隐藏,它执行与服务所用的完全相同的功能。
1.创建一个虚拟应用程序(从服务复制粘贴代码到表单应用程序) 启动后隐藏它。 2.安装后立即启动应用程序。 3.add注册表项,以便在系统重新启动后启动。
简单来说,克隆服务行为。