C#设置服务允许与桌面交互,并且启动服务

原创 2013年12月03日 17:54:47
        private void ProjectInstaller_AfterInstall(object sender, InstallEventArgs e)
        {
            try
            {
                ConnectionOptions coOptions = new ConnectionOptions();
                coOptions.Impersonation = ImpersonationLevel.Impersonate;
                ManagementScope mgmtScope = new System.Management.ManagementScope(@"root\CIMV2", 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);
            }
        }


C# 编写Windows服务并设置为“允许服务与桌面交互”

本文信息来源于网络,本人只是汇总。VS创建项目,项目类型选择Window服务为服务创建安装程序1.. 返回到 Service1 的“设计”视图。 2.. 单击设计器的背景以选择服务本身,而不是它...
  • qq752923276
  • qq752923276
  • 2015年07月10日 10:16
  • 3380

C# Windows服务“允许服务与桌面交互”

onstart的时候修改注册表      [HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/你的服务名]      "Type"=dword:...
  • nnsword
  • nnsword
  • 2007年12月05日 10:44
  • 942

设置c#windows服务描述及允许服务与桌面交互

设置描述内容 在ProjectInstaller.cs重写 install() ,Uninstall()方法  public override void Install(IDictionary...
  • jiangwenhui
  • jiangwenhui
  • 2007年10月10日 16:20
  • 1922

C#中windows 服务与桌面交互

 服务安装后事件 这样就可以交互了 privatevoid serviceInstaller1_AfterInstall(object sender, InstallEventArgs e) ...
  • mubingyun
  • mubingyun
  • 2011年01月16日 02:56
  • 1909

Windows服务“允许服务与桌面交互”的使用和修改方法

 描述:在自己写的一个系统服务程序,需要经常用到“允许与桌面进行交互”的设置,网上很多使用修改注册表的形式实现,我测试过,修改注册表后,选中的勾是选上了,但不能弹出应用程序;据说重启电脑后可以,但我不...
  • lanruoshui
  • lanruoshui
  • 2009年11月02日 10:08
  • 7006

Windows服务安装后设置自动启动与允许服务与桌面交互的方法

1、自动启动的方法设置:请先设置以下两个控件:设置serviceProcessInstaller1控件的Account属性为“LocalSystem”.设置serviceInstaller1控件的St...
  • lanruoshui
  • lanruoshui
  • 2009年12月09日 08:27
  • 7650

在系统服务中与桌面进行交互编程实现

最进在写服务端的代码,里面用到了FindWindow函数,却找不到指定窗口,后来才知道服务中不与窗口打交道,要进行桌面窗口交互要用下面的方法来实现,记录如下,以备后用 int Find() {...
  • cosmoslife
  • cosmoslife
  • 2013年05月04日 21:44
  • 293

设置C# Windows 服务与桌面交互

static public void ServiceDesktopPermission()     {        try         {             ConnectionO...
  • hyb1234hi
  • hyb1234hi
  • 2015年07月25日 18:04
  • 431

.NET实现可交互的WINDOWS服务

Windows 服务应用程序在不同于登录用户的交互区域的窗口区域中运行。窗口区域是包含剪贴板、一组全局原子和一组桌面对象的安全对象。由于 Windows 服务的区域不是交互区域,因此 Windows ...
  • Linux7985
  • Linux7985
  • 2010年06月27日 20:13
  • 2336

C# win7服务与桌面交互程序

  • 2014年11月23日 22:36
  • 373KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#设置服务允许与桌面交互,并且启动服务
举报原因:
原因补充:

(最多只允许输入30个字)