为Windows Service添加服务描述

[入库:2005年8月18日] [更新:2007年3月25日]

本文简介:选择自 wangchinaking 的 blog

    实际工作中,需要编写一个windows服务,以实现分布式呼叫计费控制功能,当然,这个项目是由偶来完成啦,经过了俩周的开发终于被偶一举搞掂!再经过多次测试-修复-登记缺陷-再测试之后,一切ok了!

    哈哈…………:)

    高兴之余,在windows服务浏览器中无意中发现,我的服务pp(指服务描述)后面怎么是空的!:(这玩意儿可是关键东东,也是公司形象问题嘛,何况要是没有它服务怪不好看的,是吧?哈哈。之后的工作就是浏览偶公司那正正版版的微软msdn,好不容易找到能够让偶修改的方法了。先说声“再见”,因为下面代码展示完后偶就要结束文章了,嘿嘿。

方法:changeserviceconfig2函数,具体实现如下:

void reconfigureservice(lpstr lpservicename, lpstr lpdesc)
{
  sc_handle schscmanager = ::openscmanager(null, null, sc_manager_all_access);
  if (schscmanager != null)
  {
    // need to acquire database lock before reconfiguring.
    sc_lock scllock = lockservicedatabase(schscmanager);
    if (scllock != null)
    {
      // open a handle to the service.
      sc_handle schservice = openservice( 
          schscmanager,           // scmanager database 
          lpservicename,          // name of service 
          service_change_config); // need change access
   
      if (schservice != null)
      {
          service_description sdbuf;
          sdbuf.lpdescription = lpdesc;
          if (changeserviceconfig2 (
                    schservice,
service_config_description, &sdbuf))
          {
             //messagebox(null,"change success","",mb_service_notification); 
          }
          closeservicehandle(schservice);
      }
      unlockservicedatabase(scllock);
    }   
    closeservicehandle(schscmanager);
  }
}

本文关键:为Windows Service添加服务描述
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top