首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

我要在window service服务启动后显示一个窗体界面,如何做

2011-12-17 
我要在window service服务启动后显示一个窗体界面,怎么做?protectedoverridevoidOnStart(string[]args){Sy

我要在window service服务启动后显示一个窗体界面,怎么做?
protected   override   void   OnStart(string[]   args)
{
System.Resources.ResourceManager   resources   =   new   System.Resources.ResourceManager(typeof(Service1));
this.notifyIcon1   =   new   System.Windows.Forms.NotifyIcon(this.components);
Form1   frm1   =   new   Form1();
frm1.Show();
frm1.Text   =   "通过服务1启动的窗体 ";
//  
//   notifyIcon1
//  
this.notifyIcon1.Icon   =   ((System.Drawing.Icon)(resources.GetObject( "notifyIcon1.Icon ")));
this.notifyIcon1.Text   =   "我的图标 ";
this.notifyIcon1.Visible   =   true;
this.notifyIcon1.Click   +=   new   System.EventHandler(this.notifyIcon1_Click);

}
在上面的代码中我要在服务启动以后显示一个window窗体并且在屏幕的右下角显示一个托盘图标(在服务启动之前我已经设置了服务的属性,在登录选项卡上选中了 "允许服务与桌面交互 "选项).
服务启动后托盘图标和窗体确实能够显示出来,但是窗体却怎么也没有任何响应,我在托盘图标上也添加了单击事件,并在事件当中编写了代码.可是也没有任何响应.这是为什么啊?
另外,如何在我的程序当中控制 "允许服务与桌面交互 "选项自动被设置阿?
在线等,多谢多谢.

[解决办法]
你需要自己定义一个新的线程去启动你的这个窗口.这样这个窗口才能处理事情.
[解决办法]
另外,如何在我的程序当中控制 "允许服务与桌面交互 "选项自动被设置阿?

> > >

解決方法在codeproject上有,好像是調用WIN32API做的,

不過具體的地址忘了,樓主可以去找一下.

热点排行