删除Windows服务

原创 2004年07月11日 10:59:00

     对于编程高手来说,这个题目有点无聊,不过在某些情况下还是相当有用的。像我删除卸载了一个软件,结果什么都删除了,结果服务还在那儿,很不雅观,找遍注册表都找不到,只好自己动手写了个小程序来删除服务。

   首先做好界面,如下:

   

    这要用到Windows的服务管理函数组,首先要打开服务管理器,这要在头文件中包含winsvc.h
   把SC_HANDLE  sh;定义加入对话框类中。
   在OnInitDialog成员函数中加入如下代码,以初始化服务管理。
sh=OpenSCManager(0,SERVICES_ACTIVE_DATABASE,SC_MANAGER_ALL_ACCESS);
 if(!sh)
 {
  MessageBox("faile to Open SCManager");
  return FALSE;
 }
在OnClose成员函数中加入
CloseServiceHandle(sh);
 
然后处理两个按钮事件
void CdelsDlg::ListServices()
{
 // TODO: Add your control notification handler code here
 DWORD eh=0,d1,nret,i;
 BOOL ret;
 SCV.ResetContent();
 ret=EnumServicesStatus(sh,SERVICE_WIN32|SERVICE_DRIVER,
  SERVICE_INACTIVE,ess,sizeof(ess),&d1,&nret,&eh);
 if(!ret)
 {
  char temp[32];
  sprintf(temp,"%d",GetLastError());
  MessageBox(temp);
  MessageBox("failed to enum services");
  return;
 }
 for(i=0;i<nret;i++)
 {
  SCV.AddString(ess[i].lpDisplayName);
 }
}
 
void CdelsDlg::DelService()
{
 // TODO: Add your control notification handler code here
 int i,ret;
 char temp[256];
 i=SCV.GetCurSel();
 sprintf(temp,"Do you realy want to remove the service/r/n"
  "%d:/t%s/r/n%s",i,ess[i].lpServiceName,ess[i].lpDisplayName);
 ret=MessageBox(temp,"Alert!",MB_YESNO|MB_ICONWARNING|MB_DEFBUTTON2);
 if(ret==IDYES)
 {
  SC_HANDLE ds;
  ds=OpenService(sh,ess[i].lpServiceName,SC_MANAGER_ALL_ACCESS);
  if(!ds)
  {
   MessageBox("Failed to Open Service");
   return;
  }
  if(DeleteService(ds))
  {
   MessageBox("Success to remove the service");
  }
  else
  {
   sprintf(temp,"Failed to remove the service/r/nERROR CODE:/t%d",
    GetLastError());
   MessageBox(temp);
  }
  CloseServiceHandle(ds);
 }
}
前者枚举不活动的服务,并把它加入列表框,后者直接删除对应服务

windows服务删除,weblogic加入windows服务

1、 办法一: 用sc.exe这个Windows命令 开始——运行——cmd.exe,然后输入sc就可以看到了。使用办法很简单: sc delete "服务名" (如果服务名中间有空格,就需要前后加引...
  • bapinggaitianli
  • bapinggaitianli
  • 2015年06月04日 10:43
  • 440

如何手动安装、启动、卸载和删除Windows服务

Win7下需要以管理员身份运行cmd 1. 安装服务: cmd下进入目录:C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.e...
  • jcx5083761
  • jcx5083761
  • 2016年02月14日 10:51
  • 1847

用C#代码安装删除windows服务

来自:http://hi.baidu.com/%B0%D9%CD%F5%C5%F3%B6%C8/blog/item/c85877ed2ef6b41afcfa3cff.html  using Syste...
  • gaofang2009
  • gaofang2009
  • 2010年08月20日 15:43
  • 684

Windows 服务卸载之后 重新安装提示 “指定的服务已标记为删除”

背景:        将一个项目做成一个windows服务,在调试的时候,需要卸载、安装该服务,但提示下面的错误:“指定的服务已标记为删除”,进入服务管理界面,启动自己注册的服务,无法手动更改成启用模...
  • xunzaosiyecao
  • xunzaosiyecao
  • 2014年06月04日 08:49
  • 6202

删除windows服务

删除windows服务命令:1.在“运行”里输入cmd 2.输入sc delete 服务名,如:sc delete mysql即可删除服务名为mysql的服务。...
  • Cryhelyxx
  • Cryhelyxx
  • 2013年09月11日 12:48
  • 727

删除Windows服务

  • zgqtxwd
  • zgqtxwd
  • 2008年04月27日 16:12
  • 111

删除Windows服务

删除Windows服务        对于编程高手来说,这个题目有点无聊,不过在某些情况下还是相当有用的。像我删除卸载了一个软件,结果什么都删除了,结果服务还在那儿,很不雅观,找遍注册表都找不到,只好...
  • i_like_cpp
  • i_like_cpp
  • 2004年12月08日 17:15
  • 1876

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

原文:http://www.cnblogs.com/hfliyi/archive/2012/08/12/2635290.html   我对例子做了小修改   windows服务应用程序是一种长期运行在...
  • angle860123
  • angle860123
  • 2013年12月17日 14:03
  • 16070

用命令行删除Windows服务

使用命令行删除Windows服务
  • poolord
  • poolord
  • 2014年11月13日 11:20
  • 3532

如何删除windows服务

一、什么是Windows服务     Windows服务也称为Windows Service,它是Windows操作系统和Windows网络的基础,属于系统核心的一部分,它支持着整个Windows的各...
  • reallyafei
  • reallyafei
  • 2007年01月17日 15:43
  • 2751
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:删除Windows服务
举报原因:
原因补充:

(最多只允许输入30个字)