• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > win2000下无法删除服务程序的问题

win2000下无法删除服务程序的问题

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了win2000终端服务,win2000系统下载,win2000序列号,win2000iso镜像下载,win2000系统下载iso等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: win2000下无法删除服务程序的问题
描述:

同样的代码,在XP下可以正常运行
在Win2000下,
安装服务后卸载                        没有问题
安装服务后运行服务再卸载               没有问题
安装服务后运行服务,停止服务,再卸载则出现服务已禁用,删除操作必须在重新启动后才能生效。
为什么?


解决方案1:

奇怪!

解决方案2:

我用vc 6建的ATL SERVER没出现过这种情况,不知道有没有用,给你贴一点看看
inline HRESULT CServiceModule::UnregisterServer()
{
    HRESULT hr = CoInitialize(NULL);
    if (FAILED(hr))
        return hr;
    // Remove service entries
    UpdateRegistryFromResource(IDR_Service, FALSE);
    // Remove service
    Uninstall();
    // Remove object entries
    hr = CComModule::UnregisterServer(TRUE);
    CoUninitialize();
 //   return S_OK;
return hr;
}
inline BOOL CServiceModule::Uninstall()
{
    if (!IsInstalled())
        return TRUE;
    SC_HANDLE hSCM = ::OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
    if (hSCM == NULL)
    {
     //   MessageBox(NULL, _T("Couldn't open service manager"), m_szServiceName, MB_OK);
        return FALSE;
    }
    SC_HANDLE hService = ::OpenService(hSCM, SRV_SERVICENAME, SERVICE_STOP | DELETE);
    if (hService == NULL)
    {
        ::CloseServiceHandle(hSCM);
    //    MessageBox(NULL, _T("Couldn't open service"), m_szServiceName, MB_OK);
        return FALSE;
    }
    SERVICE_STATUS status;
    ::ControlService(hService, SERVICE_CONTROL_STOP, &status);
    BOOL bDelete = ::DeleteService(hService);
    ::CloseServiceHandle(hService);
    ::CloseServiceHandle(hSCM);
    if (bDelete)
        return TRUE;
 //   MessageBox(NULL, _T("Service could not be deleted"), m_szServiceName, MB_OK);
    return FALSE;
}

解决方案3:

我也遇到过这样的问题,MSDN上也没有找到答案,估计是要删除注册表项才能彻底删除.


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • win2000中怎么加载自己的服务
  • 关于win2000服务的问题
  • 如何让我写的的Win2000服务程序在安全模式下也自动的运行?
  • win2000组件服务的问题
  • win2000下无法删除服务程序的问题
  • 谁有简单系统服务程序(win2000)源代码?

相关文章

  • 2017-06-05 线程的通讯问题啊??求求你们了
  • 2017-06-04 com接口IID问题
  • 2017-06-05 MFC操作excel合并单元格
  • 2017-06-04 100分急求一个ATL的COM,关于如何传递数组的问题
  • 2017-06-05 vc6编的DLL用olldy载入出错原因何在?
  • 2017-06-04 webbrowser的beforenavigate能否获取到是否新页面?
  • 2017-06-04 谁可以给我一个smtp的控件VB
  • 2017-06-04 注册带空格的项,该如何写rgs文件?
  • 2017-06-04 Activex文件上传进度条
  • 2017-06-05 通过jacob,使java代码可以调用com,关于java代码中的函数名问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 在定时器中开一线程,在关闭程序时,会有内存泄漏,怎么解决?
    • COM现在的发展如何
    • 如何实现ActiveX添加方法中有参数返回值的接口函数????????????????????
    • 谁能给一个用SAFEARRAY传递自定义结构数组的简单例子?
    • 多个线程在固定的时间内轮流进行切换,怎样进行实现?
    • 怎么监视用户打开了某个特定网页?
    • 有做过串口控制伺服电机的没
    • 為什么我mousehook程式會這樣,在不同的窗口會出現不同的計數功能?
    • VC控件工具栏中的ListCtrl和ACTIVEX控件ListView有什么区别?
    • 关于动态链接库的问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有