1.问题描述

最近遇上一个难题,我写了一个windows服务,想要与桌面可以进行交互,设置了属性在运行一点反应也没有。

windows服务与前台交互

2.解决方案

   查找出来的解决方案有以下这些(一个代码块一个):

 

 1 [RunInstaller(true)]
 2     public partial class ProjectInstaller : System.Configuration.Install.Installer
 3     {
 4         public ProjectInstaller()
 5         {
 6             InitializeComponent();
 7         }
 8 
 9         protected override void OnAfterInstall(IDictionary savedState)
10         {
11             try
12             {
13                 base.OnAfterInstall(savedState);
14                 System.Management.ManagementObject myService = new System.Management.ManagementObject(
15                     string.Format("Win32_Service.Name='{0}'", this.serviceInstaller1.ServiceName));
16                 System.Management.ManagementBaseObject changeMethod = myService.GetMethodParameters("Change");
17                 changeMethod["DesktopInteract"] = true;
18                 System.Management.ManagementBaseObject OutParam = myService.InvokeMethod("Change", changeMethod, null);
19             }
20             catch (Exception)
21             {
22             }
23         }
24     }
View Code

相关文章: