windows下共享式服务开发
参考:
https://blog.csdn.net/dongyewolong/article/details/8164873
https://blog.csdn.net/qwertyupoiuytr/article/details/53999629
1 相关注册表项
<0> x86跟x64的配置项在同一个位置, 不同的是ImagePath中svchost.exe不同:
x64对应的是%SystemRoot%\system32\svchost.exe, 即C:\Windows\system32\svchost.exe
x86对应的是C:\WINDOWS\SysWOW64\svchost.exe
<1> HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost
这里存放服务组跟该组中服务名, 以DevicesFlow服务组为例, 服务组的名字是DevicesFlow, 该组中共包含两个服务, 分别是"DevicePickerUserSvc" 和 "DeviceFlowUserSvc"
<2> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
该位置存放每个服务的具体配置,
服务的名字作为Services的子健, 该子健的项值对保存了该服务的相关配置. 其中比较重要的有DisplayName, 跟ImagePath(其中-k 参数后面跟的就是服务组的名字),
该子健还必须有一个子健Parameters, 它的项值对指定该服务对应的dll的位置, 以及卸载时刻
DevicePickerUserSvc相关项
Parameters相关项
DeviceFlowUserSvc
2 编写共享式服务代码
相对于独立式服务, 共享式服务只要实现ServiceMain跟服务控制函数就可以了, 不过ServiceMain必须导出供svchost.exe调用
3 服务的启动,停止和关闭
windows下共享式服务开发的更多相关文章
- Windows下搭建objective C开发环境
摘自:http://blog.csdn.net/zhanghefu/article/details/18320827 最近打算针对iPhone.iPod touch和iPad开发一些应用,所以,需要开 ...
- Windows下当地RabbitMQ服务的安装
Windows下本地RabbitMQ服务的安装 本文参考:刘若泽相关技术文档 当然这些内容页可以通过RabbitMQ官方网站获得. RabbitMQ配置说明手册 一.RaibbitMQ服务器配置 1. ...
- redis在Windows下以后台服务一键搭建集群(多机器)
redis在Windows下以后台服务一键搭建集群(多机器) 一.概述 此教程介绍如何在windows系统中多台机器之间布置redis集群,同时要以后台服务的模式运行.布置以脚本的形式,一键完成.多台 ...
- redis在Windows下以后台服务一键搭建集群(单机--伪集群)
redis在Windows下以后台服务一键搭建集群(单机--伪集群) 一.概述 此教程介绍如何在windows系统中同一台机器上布置redis伪集群,同时要以后台服务的模式运行.布置以脚本的形式,一键 ...
- Windows下搭建Spark+Hadoop开发环境
Windows下搭建Spark+Hadoop开发环境需要一些工具支持. 只需要确保您的电脑已装好Java环境,那么就可以开始了. 一. 准备工作 1. 下载Hadoop2.7.1版本(写Spark和H ...
- 【转】linux和windows下安装python集成开发环境及其python包
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- Windows下的Objective-C集成开发环境(IDE)
Windows下的Objective-C集成开发环境(IDE) 分类: Objective-C2012-04-20 21:54 26631人阅读 评论(42) 收藏 举报 windowside编译器c ...
- windows 下共享内存使用方法示例
windows下共享内存使用方法较 linux 而言微微复杂 示例实现的功能 有一个视频文件,一块内存区域 : 程序 A,将该视频写入该内存区域 : 程序 B,从该内存区域读取该视频 : 代码模块实现 ...
- windows下启动mysql服务
当你无法连接你的mysql数据库时,或者因为某些原因导致与mysql数据库的连接丢失时,可通过以下方式启动mysql服务 1.命令行下启动mysql服务 以管理员身份运行cmd,进入mysql安装目录 ...
随机推荐
- PHP为什么有人学不会
互联网进入到人们生活中的方方面面了,世界首富比尔盖茨多次提到青少年编程,而编程是一种思维习惯的转化. 作为写了10几年程序的人,我听到过一些说编程不好学的抱怨. 从目前见到的数据统计,主要是因为在大学 ...
- django用MySQL数据库链接
在使用的过程中出现了没有mysqld.sock这个文件的情况,无法连接到mysql数据库. 几经周折,设置路径,改文件夹的权限,也都无济于事,只有重新安装mysql服务器,第一次尝试还是失败,服务器安 ...
- linux下centos解压时报错: gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not recoverable: exiting now
最近在linux下安装python时,解压Python.tgz文件时遇到一个问题: gzip: stdin: not in gzip format tar: Child r ...
- flashback_scn导出
1.应用场景2.oracle实现该技术的原理理论,及限制3.实操及与scn时间相关的函数查询 一.flashback_scn导出1) OGG同步,对表的数据进行同步,第一次可以完全导出,中途如果由于某 ...
- 【EMV L2】EMV终端数据
Account TypeAcquirer IdentifierAdditional Terminal CapabilitiesAmount, Authorised (Binary)Amount, Au ...
- 复杂透视表的SQL生成方法
一般而言,利用表单查看数据时,会从不同的维度来涉及透视表.比如,从产品和时间维度分析销售数据. 当需要从时间维度去分析时,同时希望能有同比,环比数据,那么将时间维度设计成列将极大方便SQL的编写. 如 ...
- 重写外部图片URL,变成自己的URL
1.获取原图链接 上传一张图片文件到淘图,得到以下链接: https://img.alicdn.com/imgextra/i4/358272220/TB2hCqxmB8lpuFjSspaXXXJKp ...
- chrome中安装.crx后缀的离线插件
在前端开发中常常需要在chrome中安装一些插件辅助开发,比如最常用的Postman.React Developer Tools.Vue.js devtools等等...今天分享一下不需要“FQ”的插 ...
- Azure monitor Portal 、Azure monitor API监控指标、性能监视器常用指标
- Nopcommerce安装,应用及二次开发视频
CSDN课程:http://edu.csdn.net/lecturer/944