C#使用windows服务开启应用程序的方法
本文实例讲述了C#使用windows服务开启应用程序的方法。分享给大家供大家参考。具体如下:
使用windows服务开启应用程序,会遇到如下问题
1.使用windows服务开启的应用程序不会显示应用程序界面
解决方法:当安装服务之后,选中服务,点击属性->登录,然后设置登录身份为本地系统账户,并允许服务与桌面进行交互
2.使用的是远程桌面进行查看,不会显示界面
解决方法:不能直接使用mstsc命令进入远程桌面,要使用mstsc/v:192.168.1.10/admin命令,这里192.168.1.10指的是服务器ip地址
//该函数是为了windows服务和桌面交互
privatevoidserviceInstaller1_AfterInstall(objectsender,InstallEventArgse)
{
base.OnAfterInstall(e.SavedState);
ManagementObjectwmiService=null;
ManagementBaseObjectInParam=null;
try
{
wmiService=newManagementObject(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#程序设计有所帮助。