在windowService用Process.Start()启动程序没有界面-记录
1.在服务程序安装时编程实现,ProjectInstaller.cs
using
System;
using
System.Collections;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Configuration.Install;
//using System.Linq;
using
Microsoft.Win32;
//对注册表操作一定要引用这个命名空间
namespace
MonitorService
{
[RunInstaller(
true
)]
public
partial
class
ProjectInstaller : Installer
{
public
ProjectInstaller()
{
InitializeComponent();
//this.Context.Parameters["ServerCode"].ToString(); // 读取安装时输入的服务器编号
}
private
void
ProjectInstaller_AfterInstall(
object
sender, InstallEventArgs e)
{
//设置允许服务与桌面交互
SetServiceTable(
"MonitorService"
);
}
/// <summary>
/// 设置允许服务与桌面交互 ,修改了注册表,要重启系统才能生效
/// </summary>
/// <param name="ServiceName">服务程序名称</param>
private
void
SetServiceTable(
string
ServiceName)
{
RegistryKey rk = Registry.LocalMachine;
string
key =
@"SYSTEM\CurrentControlSet\Services\"
+ ServiceName;
RegistryKey sub = rk.OpenSubKey(key,
true
);
int
value = (
int
)sub.GetValue(
"Type"
);
sub.SetValue(
"Type"
, value | 256);
}
}
}
2.注册表修改
onstart的时候修改注册表
[HKEY_LOCAL_MACHINE
"SYSTEM"
CurrentControlSet
"Services"
你的服务名]
"Type"
=dword:00000010
key value+256
比如现在00000010是16+256=272
16精制就是00000110
3.SC程序修改, 允许与桌面进行交互
在dos命令提示符下输入:
sc config MonitorService type= interact type= own
回车即可。
可以用批处理的方式实现,把下面代码保存为 myservice.bat 即可:
rem 配置服务程序为允许与桌面进行交互方式
@echo
"准备停止服务程序..."
sc stop MyService
@echo
"设置允许与桌面进行交互方式允许"
sc config MyService type= interact type= own
@echo
"正在重新启动服务..."
sc start MyService
@echo
"启动服务成功!"
取消“允许与桌面进行交互”
DOS命令提示符下运行下面语句即可:
sc config MyService type= own
经测试:1,2 可以选中“允许与桌面进行交互”,但启动服务的时候,不能弹出应用程序的界面。
3 可以完美实现所有要求。
在服务的属性的登录选项卡中,把允许服务与桌面交互勾选上,再试试。
在windowService用Process.Start()启动程序没有界面-记录的更多相关文章
- linux下普通用户如何使用80端口启动程序
linux下普通用户如何使用80端口启动程序 http://blog.csdn.net/shootyou/article/details/6750230 大家都知道默认情况下linux的1024以下端 ...
- Linux开机启动程序详解
Linux开机启动程序详解我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤. ...
- Linux开机启动程序详解[转]
Linux开机启动程序详解 我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤 ...
- linux系统设置服务开机启动3种方法,Linux开机启动程序详解
linux系统设置服务开机启动 方法1:.利用ntsysv伪图形进行设置,利用root登陆 终端命令下输入ntsysv 回车:如下图 方法2:利用命令行chkconfig命令进行设置 简要说明 ...
- Linux如何实现开机启动程序详解
我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤. 加载内核LILO 启动之 ...
- # C#不登录电脑启动程序
我们知道开机自启动程序如果在用户不登录的情况下是不启动的,但是服务类程序是可以跨过用户登录启动的,例如IIS服务,SQL服务.如果我们已经写好了桌面应用程序,又希望他开机自启动,那就需要借助系统服务在 ...
- Linux如何实现开机启动程序详解(转)
Linux开机启动程序详解我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤. ...
- Android process 的启动流程
Android process 的启动流程 1.android启动时所运行的进程: USER PID PPID VSIZE RSS WCHAN PC ...
- 阿里云下 centos7下启动程序总是被killed ,看内存占用情况以检查哪些服务存在问题并调整参数作调优
很久不搭理自己的网站了,几天突然发现启动程序总是被killed, 于是查看了系统日志 vi /var/log/messages 发现出现 kernel: Out of memory: Kill pro ...
随机推荐
- XML 序列化与反序列化
XML序列化与反序列化 1.将一个类转化为XML文件 /// <summary> /// 对象序列化成XML文件 /// </summary> /// <param na ...
- 关于android的日志输出&LogCat
android提供了自己的log输出api-->位于android.util.Log这个类中. 这个类比较常用的打印日志的方法有5个,这5个方法都会把日志打印到LogCat中: Log.v(ta ...
- Python简单练习
#coding=UTF-8 a=10; b=2; c=a+b; print (c); score=90; if score>=80: print ("很好"); elif s ...
- wubi安装ubuntukylin-14.04
自ubuntukylin-14.04发布以来一直想体验一下,正好五一休假有了时间,在经历了一番坎坷后终于安装成功.安装环境为Win7家庭高级版,至于采用wubi方式安装,只因Linux水平差和图省事, ...
- 《InsideUE4》-8-GamePlay架构(七)GameMode和GameState
我的世界,我做主 引言 上文我们说到在Actor层次,UE用Controller来充当APawn的逻辑控制者,也有了可以接受玩家输入的PlayerController,和能自行行动的AIControl ...
- MySql错误代码1045的解决方案
错误代码 1045Access denied for user 'root'@'localhost' (using password:YES) 解决办法是重新设置root用户密码,在Windows平台 ...
- HTTPS简述
Https是什么? HTTPS是Http Over SSL,简单来说就是HTTP的安全版本,在http之上使用TLS,SSL加密协议. HTTPS实质是在HTTP基础上使用非对称加密相互生成并传递对称 ...
- Bootstrap 按钮
本章将通过实例讲解如何使用 Bootstrap 按钮.任何带有 class .btn 的元素都会继承圆角灰色按钮的默认外观.但是 Bootstrap 提供了一些选项来定义按钮的样式,具体如下表所示: ...
- log4j.properties配置详解
1.Loggers Loggers组件在此系统中被分为五个级别:DEBUG.INFO.WARN.ERROR和FATAL.这五个级别是有顺序的,DEBUG < INFO < WARN < ...
- python基础之dict、set及字符
python基础之dict.set及字符串处理 本节内容 字典介绍及内置方法 集合介绍 字符串处理 1.字典介绍及内置方法 字典是python中唯一的映射类型,采用键值对(key-value)的形式存 ...