C# winform 安装服务
一、知识点
1、安装服务
installutil HardwareScanService.exe //安装服务
sc config HardwareScanService type= interact type= own //允许服务于桌面交换
Net Start HardwareScanService //启动服务
2、卸载服务
installutil /u HardwareScanService.exe
二、程序界面

三、具体代码实现
delegate void deleAppendText(string str);
deleAppendText dat;
public Form1()
{
InitializeComponent();
dat = new deleAppendText(appendText);
}
/// <summary>
/// 批处理执行命令
/// </summary>
/// <param name="commands">命令</param>
private void ExecBatCommand(string[] commands)
{
Process pro = null;
pro = new Process();
pro.StartInfo.FileName = "cmd.exe";
pro.StartInfo.UseShellExecute = false;
pro.StartInfo.CreateNoWindow = true;
pro.StartInfo.RedirectStandardInput = true;
pro.StartInfo.RedirectStandardOutput = true;
pro.StartInfo.RedirectStandardError = true;
pro.OutputDataReceived += new DataReceivedEventHandler(pro_OutputDataReceived);
pro.Start();
for (int i = ; i < commands.Length; i++)
{
pro.StandardInput.WriteLine(commands[i]);
}
pro.BeginOutputReadLine();
pro.Close(); }
批处理执行命令
void pro_OutputDataReceived(object sender, DataReceivedEventArgs e)
{
if (e.Data != null)
{
this.BeginInvoke(dat, new object[] { e.Data });
}
}
回显调用
/// <summary>
/// 安装服务
/// </summary>
private void install()
{
ExecBatCommand(new string[] {
"installutil HardwareScanService.exe",
"sc config HardwareScanService type= interact type= own",
"Net Start HardwareScanService"
});
}
安装服务
private void uninstall()
{
ExecBatCommand(new string[] {
"installutil /u HardwareScanService.exe"
});
}
卸载服务
private void appendText(string str)
{
tb_result.Text += str + "\r\n";
//让滚动条自动滚动到最下面
tb_result.SelectionStart = tb_result.Text.Length;
tb_result.ScrollToCaret();
}
向显示窗口追加内容
C# winform 安装服务的更多相关文章
- C#创建服务及使用程序自动安装服务,.NET创建一个即是可执行程序又是Windows服务的exe
不得不说,.NET中安装服务很麻烦,即要创建Service,又要创建ServiceInstall,最后还要弄一堆命令来安装和卸载. 今天给大家提供一种方式,直接使用我们的程序来安装/卸载服务,并且可以 ...
- C#创建服务及使用程序自动安装服务
.NET创建一个即是可执行程序又是Windows服务的exe 不得不说,.NET中安装服务很麻烦,即要创建Service,又要创建ServiceInstall,最后还要弄一堆命令来安装和卸载. 今天给 ...
- tomcat安装服务和内存参数设置
第一:安装服务 在dos窗口进入到tomcat的bin目录下,通过如下命令即可将tomcat安装成服务 service.bat install Tomcat2 其中Tomcat2是服务的名称 如果启动 ...
- paip.花生壳 服务启动失败 以及不能安装服务,权限失败的解决
paip.花生壳 服务启动失败 以及不能安装服务,权限失败的解决 系统win7 NewPhDDNS_1.0.0.30166.exe 作者Attilax 艾龙, EMAIL:1466519819@ ...
- [转]C#创建服务及使用程序自动安装服务,.NET创建一个即是可执行程序又是Windows服务的exe
写在前面 原文地址:C#创建服务及使用程序自动安装服务,.NET创建一个即是可执行程序又是Windows服务的exe 这篇文章躺在我的收藏夹中有很长一段时间了,今天闲着没事,就自己动手实践了一下.感觉 ...
- 利用instsrv和srvany来手动安装服务
Windows提供了两个小工具instsrv.exe和srvany.exe来把任何应用包装成windows服务.顾名思义instsrv(install service)是用来安装服务的,而srvany ...
- linux上安装php7 memcache扩展 和 安装服务端memcached
linux上安装memcached不算太困难.唯一让本人感到困难的是 php7的memcache扩展安装.真的蛋疼! 先说安装服务端 memcached 1. 首先安装Libevent事件触发管理器. ...
- Windows 安装服务 的两种方式
第一种 - 安装服务时自定义服务名称:(注意 binpath= 和路径之间的那个空格)sc create 服务名称 binpath= "D:\Service.exe" di ...
- jenkins slave 安装服务与卸载
查看windows 服务 cmd 运行下图用我已经安装的jnlp服务展示效果 : services.msc 关于这个服务名称怎么来的: 我的 工作台路径:如下: 进入jenkins slave 下载j ...
随机推荐
- [转载] 为Visual Studio添加默认INCLUDE包含路径的方法
原文地址 你是否曾经也有过这样的问题: 用VS的时候,有时会用到一些非自带的库,例如WTL.Boost.DX等,每次需要用到时都要在项目属性里添加相应的include目录,久而久之觉得有点麻烦.是否有 ...
- Android NDK开发篇(五):Java与原生代码通信(数据操作)
尽管说使用NDK能够提高Android程序的运行效率,可是调用起来还是略微有点麻烦.NDK能够直接使用Java的原生数据类型,而引用类型,由于Java的引用类型的实如今NDK被屏蔽了,所以在NDK使用 ...
- C语言:字符串输出流输出文件中的数据。
#include<stdio.h> #include<string.h> int main() { //定义文件指针 FILE *f = NULL; //打开文件 f = fo ...
- Android系统file_contexts二进制与文本转换工具
#ifdef _WIN32 #define __USE_MINGW_ANSI_STDIO 1 #endif #include <stdio.h> #include <stdlib.h ...
- DDR SDRAM芯片DQS的作用以及读写DQS/DQ对齐方式不同的原因
节选内容转载自https://www.design-reuse.com/articles/13805/the-love-hate-relationship-with-ddr-sdram-control ...
- [17] 楼梯(Stairs)图形的生成算法
感觉这图形怎么看怎么像搓衣板. 顶点数据的生成 bool YfBuildStairsVertices ( Yreal width, Yreal length, Yreal height, Yuint ...
- Javascript模块化工具require.js教程
转自:http://www.w3cschool.cc/w3cnote/requirejs-tutorial-1.html, http://www.w3cschool.cc/w3cnote/requir ...
- CSS 过滤器 兼容ie,火狐和谷歌
这篇汇总主要是提供一些CSS不透明的详细介绍,代码示例和解释,以实现这项有用的CSS技术在您的项目中兼容所有浏览器. 关于CSS 透明度,有一点需要注意的是,它虽然使用了很多年,但它一直以来都不是一个 ...
- python3 操作sqlSever
相关代码如下: #coding =utf-8 import os import pyodbc import time class SqlDb: def __init__(self, server='D ...
- IOS网络访问详解
第一.访问网络的方式 同步请求:数据的请求过程是由主线程发起的,网络加载需要一定的时间,因此会堵塞主线程 异步请求:数据的请求在多线程中完成 同步请求无法取消,异步请求的过程中可以取消,同步请求无法监 ...