当前位置:主页 > 软件编程 > .NET代码 >

C#使用windows服务开启应用程序的方法

时间:2021-01-10 11:03:24 | 栏目:.NET代码 | 点击:

本文实例讲述了C#使用windows服务开启应用程序的方法。分享给大家供大家参考。具体如下:

使用windows服务开启应用程序,会遇到如下问题

1.使用windows服务开启的应用程序不会显示应用程序界面
解决方法:当安装服务之后,选中服务,点击属性->登录,然后设置登录身份为本地系统账户,并允许服务与桌面进行交互

2.使用的是远程桌面进行查看,不会显示界面
解决方法:不能直接使用mstsc命令进入远程桌面,要使用mstsc /v:192.168.1.10 /admin命令 ,这里192.168.1.10 指的是服务器ip地址

//该函数是为了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#程序设计有所帮助。

您可能感兴趣的文章:

相关文章