让你的GUI程序随WINDOWS服务一起启动
2009-05-14 02:24
561 查看
private void serviceProcessInstaller1_Committed(object sender, InstallEventArgs e)
{
try
{
ConnectionOptions myConOptions = new ConnectionOptions();
myConOptions.Impersonation = ImpersonationLevel.Impersonate;
ManagementScope mgmtScope = new System.Management.ManagementScope(@"root\CIMV2", myConOptions);
mgmtScope.Connect();
ManagementObject wmiService = new ManagementObject("Win32_Service.Name='" + serviceInstaller1.ServiceName + "'");
ManagementBaseObject InParam = wmiService.GetMethodParameters("Change");
InParam["DesktopInteract"] = true;
ManagementBaseObject OutParam = wmiService.InvokeMethod("Change", InParam, null);
}
catch (Exception err)
{
Common.wLog(err.ToString());
}
}
执行效果: (不再需要手动去设置)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/23/d1dabecb0051a06ef1eaf582b3b41f75.jpg)
图 1 允许Windows服务与桌面交互参数设置
四.创建Windows服务
Flash格式下载
/article/4875031.html
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/23/16196ab793f2b6aa2830d5da7d01013c.gif)
[align=center]图 2 创建Windows服务[/align]
五.修改参数并启动服务
5.1 运行FRJWindowsServiceSetup.msi安装程序,安装本服务.
5.2 修改”MdcMaxServiceSetup”文件夹下的 “FRJWindowsService.exe.config” 文件中的配置信息;
设置在GUI应用程序启动之前需要启动的Windows 服务;
本例以Sql2005服务为例.
注意: Sql2005服务器名要根据实际电脑上的Sql2005服务器名来设置; 启动程序的路径同样应根据实际情况来设置;
如要再启动其他Windows服务或程序,可在配置文件中添加;
注意格式:
1. 启动windows服务 key="ServiceName"+唯一序号 value="windows服务名称"
2. 启动应用程序 key="ProgramPath"+唯一序号 value="应用程序路径信息"
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/23/68a33da3a46f7bf5315a05f80be50b7f.jpg)
图 3 配置文件中的参数设置
点击 开始-->运行, 输入 services.msc 打开服务管理界面.按下图所示操作.
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/23/a1294d7b238f359c0bf8c5d45bf80f01.jpg)
[align=center]图 4 启动Windows服务[/align]
[align=left]重启电脑或注销当前用户,隔一段时间再登陆,查看程序运行效果。[/align]
[align=left] [/align]
{
try
{
ConnectionOptions myConOptions = new ConnectionOptions();
myConOptions.Impersonation = ImpersonationLevel.Impersonate;
ManagementScope mgmtScope = new System.Management.ManagementScope(@"root\CIMV2", myConOptions);
mgmtScope.Connect();
ManagementObject wmiService = new ManagementObject("Win32_Service.Name='" + serviceInstaller1.ServiceName + "'");
ManagementBaseObject InParam = wmiService.GetMethodParameters("Change");
InParam["DesktopInteract"] = true;
ManagementBaseObject OutParam = wmiService.InvokeMethod("Change", InParam, null);
}
catch (Exception err)
{
Common.wLog(err.ToString());
}
}
执行效果: (不再需要手动去设置)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/23/d1dabecb0051a06ef1eaf582b3b41f75.jpg)
图 1 允许Windows服务与桌面交互参数设置
四.创建Windows服务
Flash格式下载
/article/4875031.html
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/23/16196ab793f2b6aa2830d5da7d01013c.gif)
[align=center]图 2 创建Windows服务[/align]
五.修改参数并启动服务
5.1 运行FRJWindowsServiceSetup.msi安装程序,安装本服务.
5.2 修改”MdcMaxServiceSetup”文件夹下的 “FRJWindowsService.exe.config” 文件中的配置信息;
设置在GUI应用程序启动之前需要启动的Windows 服务;
本例以Sql2005服务为例.
注意: Sql2005服务器名要根据实际电脑上的Sql2005服务器名来设置; 启动程序的路径同样应根据实际情况来设置;
如要再启动其他Windows服务或程序,可在配置文件中添加;
注意格式:
1. 启动windows服务 key="ServiceName"+唯一序号 value="windows服务名称"
2. 启动应用程序 key="ProgramPath"+唯一序号 value="应用程序路径信息"
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/23/68a33da3a46f7bf5315a05f80be50b7f.jpg)
图 3 配置文件中的参数设置
点击 开始-->运行, 输入 services.msc 打开服务管理界面.按下图所示操作.
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/23/a1294d7b238f359c0bf8c5d45bf80f01.jpg)
[align=center]图 4 启动Windows服务[/align]
[align=left]重启电脑或注销当前用户,隔一段时间再登陆,查看程序运行效果。[/align]
[align=left] [/align]
相关文章推荐
- 让你的GUI程序随WINDOWS服务一起启动
- C# 自动程序 windows 无法启动 XXXX 服务 错误5 拒绝访问
- C#实现WinForm随WINDOWS服务一起启动
- Python 编写Windows服务程序:将Python作为Windows服务启动
- C#Windows Service服务程序的安装/卸载、启动/停止 桌面客户端管理程序设计
- 让你写的c#程序一开机就自动运行 Windows服务实现开机启动
- 【windows】将程序启动加载到系统服务
- Windows系统开机自动运行程序和自动启动服务
- C# Windows服务启动错误1083配置成在该可执行程序中运行的这个服务不能执行该服务
- 将linux下c程序移植到windows并作为服务启动
- 启动和停止Windows服务程序需向SCM汇报状态
- C#实现WinForm随WINDOWS服务一起启动(转载)
- Win2000/XP安装软件时提示“无法访问windows安装程序,服务中windows Installer状态为停止,不能启动”
- 将node.js程序作为服务,并在windows下开机自动启动(使用forever)
- C#实现WinForm随WINDOWS服务一起启动
- C#判断程序是由Windows服务启动还是用户启动
- 自己写注册表,让程序跟windows服务程序一样,在windows登陆之前启动
- c# 通过Windows服务启动外部程序
- windows start 命令启动 GUI 程序
- Windows Service开发日志四(用程序设置服务的运行状态及启动方式)