zoukankan      html  css  js  c++  java
  • C#设置服务允许与桌面交互,并且启动服务

            private void ProjectInstaller_AfterInstall(object sender, InstallEventArgs e)
            {
                try
                {
                    ConnectionOptions coOptions = new ConnectionOptions();
                    coOptions.Impersonation = ImpersonationLevel.Impersonate;
                    ManagementScope mgmtScope = new System.Management.ManagementScope(@"rootCIMV2", coOptions);
                    mgmtScope.Connect();
                    ServiceController service = new ServiceController(this.serviceInstaller1.ServiceName);
                    ManagementObject manage = new ManagementObject(string.Format("Win32_Service.Name='{0}'", service.ServiceName));
                    ManagementBaseObject InParam = manage.GetMethodParameters("Change");
                    InParam["DesktopInteract"] = true;
                    ManagementBaseObject OutParam = manage.InvokeMethod("Change", InParam, null);
                    //启动服务
                    service.Start();
                }
                catch (Exception ex)
                {
                    SetLog("设置服务允许与桌面交互异常:" + ex);                
                }
            }

            /// <summary>
            /// 记录日志
            /// </summary>
            /// <param name="str"></param>
            public static void SetLog(string str)
            {
                string log = ConfigurationManager.AppSettings["log"];
                if (File.Exists(log))
                {
                    //如果log大于100k,则删除此文件重新创建
                    if (new FileInfo(log).Length > 1024 * 100)
                    {
                        File.Delete(log);                    
                    }
                }
                using (System.IO.StreamWriter sw = new System.IO.StreamWriter(log, true))
                {
                    sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss  ") + str);
                }
            }


    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    【POJ2176】Folding
    【NOIP2018】赛道修建
    优雅的文本编辑器——Sublime Text 3的搭建与使用
    【NOIP2010】乌龟棋
    【POJ3585】Accumulation Degree
    【POJ3322】Bloxorz I
    python之路_常用模块介绍
    python之路_正则表达式及re模块
    python之路_内置函数及匿名函数
    python之路_递归函数及实例讲解
  • 原文地址:https://www.cnblogs.com/ful1021/p/4804448.html
Copyright © 2011-2022 走看看