为Windows Service添加服务描述

王朝delphi·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

实际工作中,需要编写一个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);

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航