Ars*_*had 3 c# windows-services winforms
我正在创建一个窗口服务.我的要求是在特定的时间间隔内从窗口NT服务显示窗口表单.出于测试目的,我只想在服务启动时显示表单:
protected override void OnStart(string[] args)
{
eventLog1.WriteEntry("In OnStart -before form show");
Messager_Form obj = new Messager_Form();
obj.Show();
// System.Diagnostics.Process.Start("calc.exe");
eventLog1.WriteEntry("In OnStart -after form show");
// timer1.Start();
}
Run Code Online (Sandbox Code Playgroud)
它不起作用.两种形式都没有显示,也没有计算过程正在运行.我发现一些链接 显示弹出,但大多数建议WCF.没有wcf是不可能的.任何人都可以告诉我实现这一目标的方法.
不能做*.在以后不能作为Windows服务工作的操作系统中,不允许与桌面交互 - 而是由Windows服务提供的UI显示在会话0中,这是一个特殊的登录会话,通常对最终用户不可见.
您应该做的是编写一个单独的Windows窗体应用程序,该应用程序始终在运行,但并不总是可见(可能在启动时运行该应用程序并在通知区域中有一个图标)并使用某种形式的IPC与Windows服务进行通信
当Windows服务希望向用户显示一些UI时,它会向应用程序发送一条消息,然后该消息向最终用户显示所需的UI.
**或者至少它绝对不应该*
归档时间: |
|
查看次数: |
29704 次 |
最近记录: |