参考:

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下共享式服务开发的更多相关文章

  1. Windows下搭建objective C开发环境

    摘自:http://blog.csdn.net/zhanghefu/article/details/18320827 最近打算针对iPhone.iPod touch和iPad开发一些应用,所以,需要开 ...

  2. Windows下当地RabbitMQ服务的安装

    Windows下本地RabbitMQ服务的安装 本文参考:刘若泽相关技术文档 当然这些内容页可以通过RabbitMQ官方网站获得. RabbitMQ配置说明手册 一.RaibbitMQ服务器配置 1. ...

  3. redis在Windows下以后台服务一键搭建集群(多机器)

    redis在Windows下以后台服务一键搭建集群(多机器) 一.概述 此教程介绍如何在windows系统中多台机器之间布置redis集群,同时要以后台服务的模式运行.布置以脚本的形式,一键完成.多台 ...

  4. redis在Windows下以后台服务一键搭建集群(单机--伪集群)

    redis在Windows下以后台服务一键搭建集群(单机--伪集群) 一.概述 此教程介绍如何在windows系统中同一台机器上布置redis伪集群,同时要以后台服务的模式运行.布置以脚本的形式,一键 ...

  5. Windows下搭建Spark+Hadoop开发环境

    Windows下搭建Spark+Hadoop开发环境需要一些工具支持. 只需要确保您的电脑已装好Java环境,那么就可以开始了. 一. 准备工作 1. 下载Hadoop2.7.1版本(写Spark和H ...

  6. 【转】linux和windows下安装python集成开发环境及其python包

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  7. Windows下的Objective-C集成开发环境(IDE)

    Windows下的Objective-C集成开发环境(IDE) 分类: Objective-C2012-04-20 21:54 26631人阅读 评论(42) 收藏 举报 windowside编译器c ...

  8. windows 下共享内存使用方法示例

    windows下共享内存使用方法较 linux 而言微微复杂 示例实现的功能 有一个视频文件,一块内存区域 : 程序 A,将该视频写入该内存区域 : 程序 B,从该内存区域读取该视频 : 代码模块实现 ...

  9. windows下启动mysql服务

    当你无法连接你的mysql数据库时,或者因为某些原因导致与mysql数据库的连接丢失时,可通过以下方式启动mysql服务 1.命令行下启动mysql服务 以管理员身份运行cmd,进入mysql安装目录 ...

随机推荐

  1. iris:get json

    package main import( "github.com/kataras/iris" "github.com/kataras/iris/middleware/lo ...

  2. mybatis 类创建流程

    Configuration ---> XmlConfigBuilder ---> SqlSessionFactoryBuilder ---> SqlSessionFactory(Co ...

  3. Deepest left leaf node in a binary tree

    Recursion selfcontained recursion global variables outside of recursion Recursion Design  Whenever r ...

  4. OpenSSL生成RSA公私钥(java)

    生成私钥:genrsa -out rsa_private_key.pem 1024 生成公钥:rsa -in rsa_private_key.pem -out rsa_public_key.pem - ...

  5. ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:847)

    /******************************************************************************* * ssl.SSLError: [SS ...

  6. 七、Django模型基础第二节——常用查询

    1 常用的模型字段类型 官方文档链接: https://docs.djangoproject.com/en/2.1/ref/models/fields/#field-types 常用的字段类型 模型字 ...

  7. 【leetcode】482. License Key Formatting

    problem 482. License Key Formatting solution1: 倒着处理,注意第一个字符为分隔符的情况要进行删除,注意字符的顺序是否正序. class Solution ...

  8. SQLalchemy 字段类型

    常用的SQLAlchemy列选项 类型名 python中类型 说明 Integer int 普通整数,一般是32位 SmallInteger int 取值范围小的整数,一般是16位 BigIntege ...

  9. sublime text 3搭建python

    1.ST3下载地址: http://www.sublimetext.com/3 2.安装Sublime Text Build 3114 Setup.exe应用程序. 3.ST3的工具优点就是轻量级,简 ...

  10. Go语言切片

    切片 Go 语言切片相当于是对数组的抽象. 由于Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比 ...