让你的GUI程序随WINDOWS服务一起启动
2009-05-14 08:28:31 来源:WEB开发网图片看不清楚?请点击这里查看原图(大图)。
本文内容
一.应用场景
二.本文难点
三.关键代码
四.创建Windows服务
五.修改参数并启动服务
一.应用场景
客户服务器上装的软件越来越多,由原来一个人管理改为几个人同时管理了,因此不同的管理员需要经常进行远程登陆,注销操作。
服务器上原有的一些程序是windows程序,用户登陆注销后,程序就退出了,咋办?把GUI程序改成windows服务程序是可行的,但客户希望能尽快解决此问题啊,咋办?于是就有了本文的想法,先这样用用吧! 呵呵...
二.本文难点
说起来就一句话,做起来可得考虑以下三个问题:
1.如程序要访问Oracle数据库,在启动你的程序前,得先将Oracle数据库服务启动。
2.让Windows服务程序支持启动你的有界面的应用程序。(默认是不能与桌面交互的)
3.如何让Windows服务获取系统注销信息,以启动相应的GUI程序.
三.关键代码
3.1 获取系统注销信息
方法:通过与Microsoft.Win32.SessionEndingEventHandler建关关联获取系统注销信息.
protected override void OnStart(string[] args)
{
//获取系统注销,关机
Microsoft.Win32.SystemEvents.SessionEnding += new Microsoft.Win32.SessionEndingEventHandler(this.SystemEvents_SessionEnding);
}
protected override void OnStop()
{
// TODO: 在此处添加代码以执行停止服务所需的关闭操作。
//切记在服务停止时,移除事件.
Microsoft.Win32.SystemEvents.SessionEnding -= new Microsoft.Win32.SessionEndingEventHandler(this.SystemEvents_SessionEnding);
}
赞助商链接