Windows服务允许服务使用界面交互(C#/ProjectInstaller)


windows服务-开发框架文库

Windows服务允许服务使用界面交互(C#/ProjectInstaller)

参考:ProjectInstaller.cs 代码

C# 全选
 [RunInstaller(true)]
    public partial class ProjectInstaller : System.Configuration.Install.Installer
    {
        public ProjectInstaller()
        {
            InitializeComponent();

            // 设置运行该服务应用程序时所使用的帐户类型,(默认account,服务安装的时候会提示输入用户名密码)
            this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalService;
            
            // 设定服务名称
            this.serviceInstaller1.ServiceName = "MyService";
            this.serviceInstaller1.DisplayName = "MyService";            
            this.serviceInstaller1.Description = "我的Win服务";

            // 设定服务的启动方式 自动启动
            this.serviceInstaller1.StartType = System.ServiceProcess.ServiceStartMode.Automatic;

            this.AfterInstall += ProjectInstaller_AfterInstall;
        }
        /// <summary>
        /// 允许服务使用界面交互
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ProjectInstaller_AfterInstall(object sender, InstallEventArgs e)
        {
            SetServiceDesktopInsteract(this.serviceInstaller1.ServiceName);
        }

        /// <summary>
        /// 允许服务使用界面交互
        /// </summary>
        /// <param name="serviceName"></param>
        private void SetServiceDesktopInsteract(string serviceName)
        {
            ManagementObject wmiService = new ManagementObject(string.Format("Win32_Service.Name='{0}'", serviceName));
            ManagementBaseObject changeMethod = wmiService.GetMethodParameters("Change");
            changeMethod["DesktopInteract"] = true;
            ManagementBaseObject OutParam = wmiService.InvokeMethod("Change", changeMethod, null);
        }
    }
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
上一篇:C# 获取当前应用程序集(Assembly)路径
下一篇:测试Form.AutoScale模式,子窗体继承后界面尺寸、布局及字体变大
评论列表

发表评论

评论内容
昵称:
关联文章

Windows服务允许服务使用界面交互C#/ProjectInstaller
Windows服务弹出Winform窗体应用程序实现桌面交互
Vue界面交互 - 按钮buttn.click函数使用
C# 使用cmd命令卸载WCF Windows 服务
C# ASP.NET WebApi服务器搭建详解 - Win服务承载(Windows Service Hosting宿主)
使用dos命令强制停止Windows服务
C# 使用cmd命令安装及卸载WCF Windows 服务
承载 Service Host 和使用 WCF 服务
C# Windows目录服务工具包 DirectoryServices
使用批处理文件安装或卸载WCF服务(Windows服务)
如何在Windows服务中安装和部署WCF服务器?
使用net start/stop命令启动和停止Windows服务
使用net.exe和sc.exe实用程序启动停止Windows服务
Windows服务定时作业计划软件框架(C#)
C# 从注册表获取Windows服务的文件路径
C/S系统快速开发平台采用Windows服务承载的WCF服务器
C#.NET VS2015运行时调试Windows服务承载的WCF程序(新)
C#源码-Windows服务管理器,实现安装,卸载,启动和停止服务等功能
C#.NET VS2015运行时调试Windows服务(宿主)承载的WCF程序
原创WebApi框架:采用HTTPS协议SelfHosting,Windows服务承载WebApi服务