Windows服务的手动添加和删除方法

服务,是指执行指定系统功能的程序、例程或进程,以便支持其他程序,尤其是低层(接近硬件)程序。其实,服务就是一种特殊的应用程序,它从服务启动开始就一直处于运行状态,而普通应用程序在运行之后就处于休眠状态,直到用户再次对其进行操作;在WinXP里,服务是在系统加载以后就自动启动的,而不需要登陆,但自动运行的普通应用程序是在WinXP加载并登录以后才执行的。
对于安装服务,一般分为两种情况:
 

步骤/方法

  1. 1
    安装可以作为服务运行的程序成为WinXP的服务;
  2. 2
    安装不可以作为服务运行的程序(即普通的应用程序)成为WinXP的服务。
    使用安装工具:srvinstw.exe和srvany.exe,Win2000资源工具包中提供的工具;
    下面是手工添加服务的方法,适用找不到添加工具的时候手工添加服务。
    通过修改注册表来添加服务:
    在注册表器,展开分支“HKEY_LOCAL_MACHINE“SYSTEM“CurrentControlSet“Services”,在右侧窗格中显示的就是本机安装的服务项。如果要新建服务,只须“→新建→项”,然后为此项命名,如“test”;然后右击该项,选择“新建→字符串值”或“新建→Dword值”即可。
    添加一个服务项目具体需要添加的键值
    “DisplayName”,字符串值,对应服务名称;
    “Description”,字符串值,对应服务描述;
    “ImagePath”,字符串值,对应该服务程序所在的路径;
    “ObjectName”,字符串值,值为“LocalSystem”,表示本地登录;
    “ErrorControl”,Dword值,值为“1”;
    “Start”,Dword值,值为2表示自动运行,值为3表示手动运行,值为4表示禁止;
    “Type”,Dword值,应用程序对应10,其它对应20。
    另外,还要在“test”项下新建一个“Enum”项。如果有些必须通过srvany来加载的还必须添加另外的Parameters子项在该项中提供详细的要加为服务的程序所在的路径。而上面的那个路径就需要指到srvany所在的路径。
    上面提到的是如何添加服务,怎么删除windows服务呢,请继续看:
    Windows服务也称为Windows Service,它是Windows操作系统和Windows网络的基础,属于系统核心的一部分,它支持着整个Windows的各种操作。诸如DNS客户端、打印程序、Windows更新服务、计划任务、Windows时间服务、告警器等服务,它们关系到机器能否正确运行。如果不能适当地管理这些服务,就会影响到机器的正常操作。
    一个服务首先是一个Win32可执行程序,或者是是rundll32.exe来运行一个.dll的方式形成的进程。
    跟普通应用程序不一样,如打开WORD,有一个界面出来,但服务没有用户界面。也不能通过直接双击运行相应的.exe程序来运行。那Windows又是如何控制一个服务的?
    Windows的服务由更上一级的services.exe这个服务来管理,由它来管理,负责进行服务的启动、停止、运行,暂停等。我们最常用的操作就是通过Windows的服务MMC界面来完成相关操作。
    现在的流氓软件,越来越多把自己注册为一个服务。在Hijackthis的扫描日志中,一般会把非Windows系统的服务以023的方式列出来,如下面这段:
    O23 - 未知 - Service: BKMARKS [提供传输协议的数据安全保护机制,有效维护数据传输中的安全及完整。] - C:“WINDOWS“SYSTEM32“RUNDLL.EXE
    O23 - 未知 - Service: ewido anti-spyware 4.0 guard [ewido anti-spyware 4.0 guard] - D:“Program Files“ewido anti-spyware 4.0“guard.exe
    O23 - 未知 - Service: KSD2Service [KSD2Service] - C:“WINDOWS“system32“SVCH0ST.exe
    对于这些流氓软件,需要删除相关的.exe文件,使它不能再运行,或者直接清除这个服务本身,使计算机重启的时候,它不会再启动。
  3. 3
    删除的办法有两个:
    办法一: 用sc.exe这个Windows命令
    开始运行cmd.exe,然后输入sc就可以看到了。使用办法很简单:sc delete “服务名”(如sc deleteService 83F9085F) 如针对上面的: sc delete KSD2Service
    方法二:直接进行注册表(不推荐)
    打开注册表器,找到下面的键值:HKEY_LOCAL_MACHINE“SYSTEM“CurrentControlSet “Services,一般服务会以相同的名字在这里显示一个主健,直接删除相关的键值便可。(HKEY_CURRENT_USER“SYSTEM “CurrentControlSet“Services 下可能也有,可在注册表中查找删除)
    1、如果服务显示的是rundll32.exe,并且这个文件是位于system32目录下,那么就不能删除这个rundll32.exe文件,它是Windows系统的文件。这时只要清除相关的服务就可以了
    2、如果一个服务删除了马上又自动建立了,说明后台有进程在监视、保护。需要先在进程管理器中杀掉相应的进程,或者启动后按F8,到安全模式下删除

Windows服务的手动添加和删除方法的更多相关文章

  1. Windows系统下MySQL添加到系统服务方法(mysql解压版)

    MySQL软件版本:64位 5.7.12 1.首先配置MySQL的环境变量,在系统环境变量Path的开头添加MySQL的bin目录的路径,以“;”结束,我的路径配置如下: 2.修改MySQL根目录下的 ...

  2. mysql (mariadb)表结构添加修改删除方法总结

    1,添加表字段 alter table table1 add ptel varchar(100) not Null; alter table table1 add id int unsigned no ...

  3. TIF、JPG图片手动添加地理坐标的方法(转载)

    题目:为TIF.JPG图片添加地理坐标/平面直角坐标. 图片来源:GOOGLE EARTH.(当然也可以是其他知道四角点坐标的图片) 截图工具:GEtscreen(此软件截图时可以自动生成图片四角点坐 ...

  4. TIF、JPG图片手动添加地理坐标的方法

    题目:为TIF.JPG图片添加地理坐标/平面直角坐标. 图片来源:GOOGLE EARTH.(当然也可以是其他知道四角点坐标的图片) 截图工具:GEtscreen(此软件截图时可以自动生成图片四角点坐 ...

  5. C# 使用Vici WinService组件来创建Windows服务

    Vici WinService 是 Windows平台下使用C#开发的轻量级用于创建,删除服务的类库,您只需简单的几行代码即可实现多线程异步服务的创建,删除,运行 废话不多说,直接上代码 /***** ...

  6. 使用windows服务更新站点地图

    由于公司平台访问人数逐渐增多,公司项目的数据库已经几次出现宕机现象.为减轻数据库压力,我上个月对公司项目做了下调整.把新闻板块提取出来单独一个站点,单独一个数据库.减少了主站点和数据库的负担和压力. ...

  7. windows服务

    .net windows 服务创建.安装.卸载和调试   原文:http://www.cnblogs.com/hfliyi/archive/2012/08/12/2635290.html 我对例子做了 ...

  8. .net windows 服务创建、安装、卸载和调试

    原文:http://blog.csdn.net/angle860123/article/details/17375895 windows服务应用程序是一种长期运行在操作系统后台的程序,它对于服务器环境 ...

  9. 一周一话题之三(Windows服务、批处理项目实战)

    -->目录导航 一. Windows服务 1. windows service介绍 2. 使用步骤 3. 项目实例--数据上传下载服务 二. 批处理运用 1. 批处理介绍 2. 基本语法 3. ...

随机推荐

  1. swoole和erlang通信测试

    直接用docker跑环境 docker pull xlight/docker-php7-swoole docker run -it -v ~/Projects/php/swoole:/workdir ...

  2. PHP里的“夏令虫”

    转自:http://www.2cto.com/kf/201308/235073.html 今儿,我遇到一个大怪物 -- 夏令虫 ╮(╯▽╰)╭,学艺不精,因为他掉进大坑里去了.坑是这样挖的: 以前,我 ...

  3. String 及其数组的相关问题

    由其他类型转String一般用三种方法 方法1:采用 Object.toString()方法 请看下面的例子: Object object = getObject(); System.out.prin ...

  4. Linux: vi 编辑器中文乱码

    [问题] vi编辑器中文乱码 [解决方案] vi /etc/sysconfig/i18n改成如下即可:LANG="en_US.UTF-8"LANGUAGE="zh_CN. ...

  5. mgo中DBRef-数据查询测试

    下午对数据查询进行了代码测试: package main import ( "crypto/rand" "encoding/hex" "fmt&quo ...

  6. linux vim 替换指定字符为回车

    有个问题,想要知道逗号分隔的字符串  example: aaa,bbb,ccc 分隔后的个数 1 将   aaa,bbb,ccc 替换成 aaa bbb ccc 方法: :%s/,/^M/g ^M是用 ...

  7. ubuntu 14.04 更新 gcc/g++ 4.9.2

    ubuntu 14.04 更新 gcc/g++ 4.9.2 最近看到c++11非常的好用,尤其是自带了regex,于是稍微学了一下c++11的新特性.可是我在编译一个regex程序是却发现稍微复杂一点 ...

  8. PHP 用html方式输出Excel文件时的数据格式设置

    1) 文本:vnd.ms-excel.numberformat:@ 2) 日期:vnd.ms-excel.numberformat:yyyy/mm/dd 3) 数字:vnd.ms-excel.numb ...

  9. Unity IoC Container创建对象过程

    Unity是微软P&P推出的一个开源的IoC框架,最新的官方版本是2.0.Unity之前的版本建立在一个称为ObjectBuild的组件上,熟悉EnterLib的读者,相信对ObjectBui ...

  10. C# 委托的学习

    delegate int GetCalculatedValueDelegate(int x, int y);    //定义是个委托实际上就是抽象一类  参数列表形式和返回值相同的函数AddCalcu ...