首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Windows服务编程

一、服务(Service) 服务程序是NT系统支持的一种可执行文件,通常服务程序不与用户进行交互,在系统启动时会自动启动服务程序。...2.服务入口函数. 每个服务必须有一个服务入口函数,服务入口函数就是服务的执行体。其实每个服务在运行时都是一个新的线程。而服务入口点函数由自己定义。...,计算机正在关机时会发出这个请求,这个请求将等待20秒,若20秒未处理完则关闭计算机 SERVICE_CONTROL_PARAMCHANGE Windows 2000: 通知服务,传递给服务入口的启动参数已经改变..., SERVICE_CONTROL_NETBINDADD Windows 2000: SERVICE_CONTROL_NETBINDREMOVE Windows 2000: SERVICE_CONTROL_NETBINDENABLE...Windows 2000: SERVICE_CONTROL_NETBINDDISABLE Windows 2000: 128--255: 服务可以向SCM注册自己特定的请求.

1.8K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Windows 服务 同时启动多个服务

    Windows 服务 同时启动多个服务 独立观察员 2019.02.26 最近需要开发 Windows Service 程序,之前没有接触过,所以把了解到的一些东西记录下来。...Windows 服务程序可以简单理解为需要长时间在后台运行, 而又不需要界面显示的程序,在计算机管理 --> 服务和应用程序 --> 服务中可以看到: 我们先来新建一个 "Windows 服务" 项目...,具体可参考《C# 编写 Windows Service(windows 服务程序)》(https://www.cnblogs.com/bluestorm/p/3510398.html)一文。...逻辑写在继承于 ServiceBase 类的类中,该类型的类通过添加 "Windows 服务" 来生成: 双击生成的类文件,打开的是一个设计页面,可点击切换到代码视图: 代码视图中可以看到,是继承于...Projectlnstaller.Designer.cs 文件,这个是 VS 自动生成的,本来是不需要我们修改的,但这里似乎有一个 bug (参考:《[c# windows 服务 一个进程 多个服务的使用

    1.6K30

    ServiceController操作Windows服务

    使用.Net框架类库中自带的组件ServiceController可以实现对Windows服务的操作。...方法:ServiceController.GetServices()返回非设备驱动程序服务和不是驱动程序的服务。若要检索设备驱动程序服务,请调用 GetDevices 方法。...这两种方法一起提供对计算机上所有服务的访问。 属性:Status表示现有服务的运行状态。取值包括: ContinuePending 服务即将继续。 Paused 服务已暂停。...PausePending 服务即将暂停。 Running 服务正在运行。 StartPending 服务正在启动。 Stopped 服务未运行。 StopPending 服务正在停止。...Win32OwnProcess Win32 程序,可由“服务控制器”启动,并遵守服务控制协议。此类 Win32 服务单独运行在一个进程中。

    55410

    windows服务管理操作

    服务程序是windows上重要的一类程序,它们虽然不与用户进行界面交互,但是它们对于系统有着重要的意义。...windows上为了管理服务程序提供了一个特别的程序:服务控制管理程序,系统上关于服务控制管理的API基本上都与这个程序打交道。...下面通过对服务程序的操作来说明这些API函数 获取系统服务的信息 在windows系统中有专门用来存储服务信息的数据库,而获取系统服务信息主要是通过在这样的数据库中查找。...lpResumeHandle:额外的句柄 每一个ENUM_SERVICE_STATUS结构体保存的是一个服务的信息,但是我们事先并不知道有多少个服务,因此不知道该定义多大的服务信息数组,但是windows...,并根据其中的某些信息来启动这个服务,有的选项是必填的,比如服务名称,这个是用来唯一标识一个服务的,服务所在路径告知服务控制管理器启动哪个程序,而向依赖、密码等等信息可以不用填写。

    1.8K11

    Windows服务小结 1

    Windows服务使用Console模式运行 Windows服务定义 Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序。...还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务。 我们在开发一些无UI服务或者Job的时候,一般我们会选择Windows服务来开发。...一般开发者对Windows服务的感觉是很复杂的,因为它出了问题不好调试,难以定位bug的root cause。 所以本文主要讲解: 如何使用Console的运行方式来执行Windows服务?...所以我们如果想使用Console的运行方式调用Windows服务,Windows服务所在项目,它的类型必须是Console Application。...所以我们首先新建一个Console项目,然后在里面添加一个Windows服务,定义如下: public partial class MyService : ServiceBase { FileInfo

    46920

    Windows服务框架与服务的编写

    ,而且服务程序一般不予用户进行交互,可以安静的在后台执行,合理的利用服务程序可以简化我们的系统设计,比如Windows系统的日志服务,IIS服务等等。...服务程序是由服务管理器负责调度,控制的,所以我们在编写服务程序的时候必须满足服务控制管理器的调度,必须包含: 1....在入口函数中我们必须给服务一个控制管理程序,这个程序主要是用来处理服务程序接受到的各种控制消息,比如启动服务,暂停服务,停止服务等,这个函数有点类似于Windows 窗口程序中的窗口过程。...函数把状态报告给服务管理器程序注意:即使状态无变化也要报告 服务控制管理器 在服务中一般有3类对象(在这并不是指Windows系统的内核对象,这里只是为了便于理解给出的一个分类): 1....服务程序对象:服务本身的代码,一般是服务主要完成的功能代码 2. 服务控制对象:用来控制服务,向服务发送执行 3.

    1.5K11

    使用Topshelf创建Windows 服务

    Windows 服务由三部分组成: 一个服务可执行文件; 一个服务控制程序(SCP); 服务控制管理器(SCM),负责在 HKLM"SYSTEM"CurrentControlSet"Services 下创建服务键值...用户可通过 SCP 控制服务的启动、停止、暂停等,SCP 会通过 SCM 调用服务程序 开发一个Windows服务通常也比较简单,在开发的时候我们期望以命令行方式运行,想对Windows服务有更多的控制...通过命令运行,安装卸载Windows服务 Stuff.exe  #控制台方式运行 Stuff.exe /install  #安装Windows服务 Stuff.exe /uninstall  #卸载Windows...服务 默认情况下,Windows服务只能运行一个实例,如果我们想运行多个实例怎么办,可以在Topshelf的命令行参数中增加–instance 来指定实例的名称,也可以通过运行时读取配置文件来达到目的...服务实例,推荐大家使用这个Windows服务框架TopShelf ,可以简化很多工作和增加灵活性

    1K60

    C# Windows服务开发

    前言 我要开发一个系统服务,服务的作用是定时检测并关闭其他应用的弹窗,但是开发后却发现,服务在运行是压根获取不到任何窗口。...原因在于 Windows服务一般在Session0里,EXE应用一般在Session1里,Win7及以后的系统将服务与应用程序进行了Session隔离,不允许其进行UI交互,可以考虑穿透Session...总的来说有以下注意点 服务的Account属性设置为LocalSystem,安装服务后的登录身份则为本地系统账户 不要把Windows服务的程序放在C:\Users\Administrator\目录下运行...,不然启动服务的时候会遇到权限问题 程序要在Session1中运行 创建Windows服务 创建后在Service1.cs的设计试图上右键 添加安装程序 之后会出现以下两个 点击1 对应的属性...= windows[i]; if (win.Title.Contains("WPS") && !

    1.3K30

    使用InstallUtil发布windows服务

    发布Windows Service的方法 1、 在默认窗口Service1中右键Add Install,自动生成两个类。 ? 2....6.使用installutil安装新建好的MyFirstService,方法如下:   一、打开C:\Windows\Microsoft.NET\Framework64\v4.0.30319目录,找到InstallUtil.exe...二、把该文件复制到你生成服务的根目录下。 ?   三、使用命令:在cmd中定位到你的服务所在的目录(即InstallUtil.exe所在的目录),使用InstallUtil 服务名.exe进行安装。...四:用命令:installutil  /u  服务的名称.exe,点击运行,即可卸载服务。 五:使用命令打开services.msc即可找到你的服务啦。...第二种错误的可能就是服务已经存在,则会出现下面的错误 ? 为了避免这种错误的发生,我们应该在安装服务的时候首先进行第三步(即如果可以的话,首先卸载已存在的服务)。

    1.2K20

    Windows Telemetry服务特权提升

    它可由所有用户触发,并导致文件活动在C:\Windows\Temp,该目录对所有用户都可写。...\file.txt:.etl 这导致C:\Windows\Temp\file.txt被使用。...从信息公开的角度来看,为服务执行的跟踪选择任何ETW提供程序的能力也很有趣。 我可以看到自己使用数据的一种情况是您不知道文件名,因为服务在您无权列出文件的文件夹中创建文件。...其他安全绕过提供程序: Microsoft-Windows-USB-UCX {36DA592D-E43A-4E28-AF6F-4BC57C5A11E8} Microsoft-Windows-USB-USBPORT...检测到时%WINDIR%\system32\phoneinfo.dll,会将空白错误报告提交给Windows错误报告服务,该错误报告配置为从proc之外提交,从而导致在SYSTEM安全上下文中wermgmr.exe

    2.7K14647

    Windows server——部署DHCP服务

    此时,DHCP客户机以广播方式(因为DHCP服务器的P地址对客户机来说是未知的)发送DHCPDiscover 发现信息来寻找DHCP服务器。...---- 2.服务器响应 当DHCP服务器接收到来自客户机请求P地址的信息时,它就在自己的P地址池中查找是否有合法的IP地址提供给客户机。...DHCP服务器提供的合法P地址。 子网掩码。 默认网关。 租约的期限。 DHCP服务器的IP地址。...DHCP Request消息包括为客户机提供IP配置的服务器的服务标识符(服务器P地址),DHCP服务器查看服务器标识符字段,以确定提供的P地址是否被接收。...---- 4.服务器确定租约 DHCP服务器接收到DHCP Request消息后,以DHCP ACX消息的形式向客户机广播成功确认。

    28420

    windows系统FTP服务加固

    Windows 系统 FTP服务加固 打开IIS信息服务管理器,查看FTP 所有加固功能,详见下图(以Windows server 2008举例) ? 1.禁用匿名登录 1). 创建FTP帐户 1....Windows 2012系统使用FTP禁用匿名登录服务 ?...2.启用强密码安全策略 在Windows系统中,强密码策略是有组策略控制的,您可以打开运行(win+R键),输入gpedit.msc,进入Windows系统组策略中,依次点击,计算机配置—>windows...、¥、#、%) 推荐Windows所有认证服务采用以上密码策略。 3.启用账户登录失败处理机制 该机制对账户实施强失败处理,防止暴力破解攻击事件 ?...9 其他建议 1.如果不需要使用该服务,建议您关停FTP服务 2.强烈建议不要将此类型服务开放在互联网外,您可以使用V** 安全接入手段链接到文件类型的服务器端,同时使用安全组 控制访问源IP

    3.8K10
    领券