本文实例讲述了C#使用windows服务开启应用程序的方法。分享给大家供大家参考。具体如下:
使用windows服务开启应用程序,会遇到如下问题
1.使用windows服务开启的应用程序不会显示应用程序界面
解决方法:当安装服务之后,选中服务,点击属性->登录,然后设置登录身份为本地系统账户,并允许服务与桌面进行交互
2.使用的是远程桌面进行查看,不会显示界面
解决方法:不能直接使用mstsc命令进入远程桌面,要使用mstsc /v:192.168.1.10 /admin命令 ,这里192.168.1.10 指的是服务器ip地址
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
//该函数是为了windows服务和桌面交互 private void serviceInstaller1_AfterInstall( object sender, InstallEventArgs e) { base .OnAfterInstall(e.SavedState); ManagementObject wmiService = null ; ManagementBaseObject InParam = null ; try { wmiService = new ManagementObject( string .Format( "Win32_Service.Name='{0}'" , serviceInstaller1.ServiceName)); InParam = wmiService.GetMethodParameters( "Change" ); InParam[ "DesktopInteract" ] = true ; wmiService.InvokeMethod( "Change" , InParam, null ); } finally { if (InParam != null ) InParam.Dispose(); if (wmiService != null ) wmiService.Dispose(); } } |
希望本文所述对大家的C#程序设计有所帮助。