一、知识点

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();
}

向显示窗口追加内容

最新文章

  1. tab事件优化-事件代理
  2. Java中从控制台输入数据的几种常用方法
  3. 您试图在此 Web 服务器上访问的 Web 应用程序当前不可用
  4. Python统计学技术环境
  5. java 读取pdf、word、Excel文件
  6. 试用VSCode
  7. 160930、Javascript的垃圾回收机制与内存管理
  8. Draw a Border around any C# Winform Control
  9. 一路踩过的坑 php
  10. 彻底弄懂LSH之simHash算法
  11. Mesh.Bake Scaled Mesh PhysX CollisionData的性能问题
  12. java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
  13. docker 基于现有镜像修改后保存,上传私有仓库
  14. 【淡墨Unity3D Shader计划】一间 创建一个游戏场景 &amp;amp; 第一Shader写作
  15. Java 基础知识(一)
  16. Google Chrome谷歌/火狐/Safari浏览器开发者工具基本使用教程
  17. pycharm创建Flask项目,jinja自动补全,flask智能提示
  18. 解决 win10飞行模式 无限自动开关 无法关闭
  19. 从vue源码看props
  20. EasyPR源码剖析(6):车牌判断之LBP特征

热门文章

  1. #pragma mark 添加分割线 及 其它类似标记 - 转
  2. 怎么上传自己的代码/项目到自己的github仓库上
  3. 显示Mysql中的所有用户
  4. vijos p1729 Knights
  5. 混沌数学之CircuitChaotic(二维离散电路混沌系统)
  6. C#调用C++ memcpy实现各种参数类型的内存拷贝 VS marshal.copy的实现 效率对比
  7. 服务 Service 清单文件中可设置的属性
  8. 7 个 Bootstrap 在线编辑器用于快速开发响应式网站
  9. linux系统下调度数据库类型资源库中的kettle job
  10. VS2008:Failed to return new Code Element