我有一个C#控制台应用程序,它每晚从一个计划任务运行以执行一些维护。该应用程序还将一个Form显示为一个启动画面,通知系统中的任何人该应用程序正在运行,并显示状态。
要使用正确的权限运行应用程序,我需要以另一个用户身份运行“计划任务”。但是,当我这样做时,应用程序会运行,但登录用户看不到启动画面。
我理解这个问题但不确定如何解决它。有没有办法为其他用户启动表单?或者,有没有办法将表单显示为所有登录用户的通知,类似于“Windows正在关闭”消息?
感谢您的想法。
答案 0 :(得分:1)
将您的应用程序转换为将始终以“内核模式”运行的服务,与登录用户无关。然后创建一个小客户端应用程序,在用户登录时将以“用户模式”运行(每个用户一个实例)。使用进程间通信从服务器(服务应用程序)向每个客户端(用户应用程序)发送“信号”。
答案 1 :(得分:0)
您可以编写另一个小应用程序,并将其放在All Users启动文件夹中。此应用程序在用户登录时运行,然后无形地坐在(或在托盘区域中)并监视指示您的第一个应用程序即将运行的特定触发器。当它看到它们时,它会启动启动画面。