开发者社区> hopegrace> 正文

16、Windows API 服务

简介: 一、基本概念 1、服务是一种在系统中常驻的程序,服务可以在系统启动时自启动(先于用户登录)。当一个应用程序需要常驻在系统,或者随时为其他应用程序提供服务时,可以使用服务应用程序。一般编写网络服务端程序时需要使用服务。
+关注继续查看

一、基本概念<?xml:namespace prefix = o />

1、服务是一种在系统中常驻的程序,服务可以在系统启动时自启动(先于用户登录)。当一个应用程序需要常驻在系统,或者随时为其他应用程序提供服务时,可以使用服务应用程序。一般编写网络服务端程序时需要使用服务。比如Windows系统中常用的网络应用服务器(WEB、FTP、邮件等)IIS就是一个服务应用程序。

        Windows系统中具有一个服务控制器(SCM)用于控制服务。服务的安装、删除、启动、停止、控制与I/O都是通过服务控制器。

        Windows系统的服务分为服务应用程序和内核驱动服务程序,服务应用程序运行于系统用户态,内核驱动服务运行于系统内核态。用户态服务程序需遵守SCM的接口规范。

sc.exe

2、服务控制器对系统中所有服务进行管理,SCM管理着系统中已经安装的服务程序和设备驱动程序数据库,数据库中保存的信息包括系统安装了哪些服务,每个服务包括如何启动每个服务、各个服务的安全属性以及控制接口等。

        服务程序、服务配置程序和服务控制程序的设计都需要使用SCM提供的函数。

3、服务程序是运行服务所需要的可执行程序,SCM通过运行和终止服务程序来启动和停止服务。

4、启动、终止或控制服务程序的运行是通过向SCM发送请求实现的。对服务程序进行启动、停止、修改属性等操作的程序就是服务控制管理程序。

5、一个服务具有若干个属性,包括服务名称、显示名称、服务类型、描述、可执行文件路径、启动类型、服务状态、启动参数、依存关系等。

二、相关的API

暂时不涉及这一块,暂时到此,更详细的可以参见[1,2]。

[1] 精通Windows API 函数、接口、编程实例

[2] http://msdn.microsoft.com/en-us/library/ms685141%28VS.85%29.aspx

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
刘金玉的零基础VB教程073期:windows API使用入门 sleep
刘金玉的零基础VB教程073期:windows API使用入门 sleep
14 0
[笔记]Windows核心编程《二十二》注入DLL和拦截API
]Windows核心编程《二十二》注入DLL和拦截API
194 0
[笔记]Windows核心编程《番外篇》常用的NT API及使用示例
Windows核心编程《番外篇》常用的NT API及使用示例
169 0
[总结]Windows Crypto API 自动更新根证书问题原因及解决方案
Windows Crypto API 自动更新根证书问题原因及解决方案
126 0
C#实现操作Windows窗口句柄:常用窗口句柄相关API、Winform中句柄属性和Process的MainWindowHandle问题【窗口句柄总结之三】
本篇主要介绍一些与窗口句柄相关的一些API,比如设置窗口状态、当前激活的窗口、窗口客户区的大小、鼠标位置、禁用控件等,以及介绍Winform中的句柄属性,便于直接获取控件或窗体句柄,以及不推荐...
548 0
Qt实用技巧:Qt中添加对windows api的支持,显示/隐藏任务栏和桌面(解决无法找到windows api)
Qt实用技巧:Qt中添加对windows api的支持,显示/隐藏任务栏和桌面(解决无法找到windows api)
487 0
如何在Windows系统上使用Object Detection API训练自己的数据?
之前写了一篇如何在windows系统上安装Tensorflow Object Detection API?(点击跳转) 然后就想着把数据集换成自己的数据集进行训练得到自己的目标检测模型。动手之前先学习了一波别人是如何实现的,看了大多数教程都有一个小问题:用VOC2012数据集进行训练当做用自己的数据集。 然而,初心想看的是自己的数据集啊!于是就自己来撸一篇教程,方便自己也给别人一些参考吧~
143 0
如何在windows系统上安装Tensorflow Object Detection API?
都说Linux是最适合程序员使用的操作系统,这话还真不假。 之前一直在云服务器上跑代码,近期接手了师兄的台式机(GTX 1050),虽然配置很渣,但想在本地玩玩看,于是乎先安装一波Tensorflow Object Detection API。 之前云服上配置的时候十分顺利,可是到了windows下很容易进坑,这里简单整理下踩坑后的总结。
274 0
windows 本地测试spark streaming + kafka direct api
windows 本地测试spark streaming + kafka direct api 卡在如下信息出: “Kafka scala consumer marked as dead for group” 1.环境: kafka server为集群,连接时使用的是hostname:9092方法去连接,程序也不报错, 就是卡在上面的信息出,没有输出。
1494 0
+关注
hopegrace
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
数据资源的基础设施API总线
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多