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