CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  ATL/ActiveX/COM

如何得到NT服务可执行文件的所在路经?

楼主ttoomm(桥风)2004-12-02 16:56:25 在 VC/MFC / ATL/ActiveX/COM 提问

谢谢! 问题点数:100、回复次数:3Top

1 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2004-12-02 17:00:45 得分 20

一般来说可以在注册表里取得,多数服务都有一个ImagePath的键值。Top

2 楼danyueer(淡月儿:从此以后,各人得各人的眼泪罢了)回复于 2004-12-02 17:10:27 得分 80

调用序列:  
  OpenService  
  QueryServiceConfig  
   
  例子:  
  VOID   GetSampleServiceConfig()    
  {    
          LPQUERY_SERVICE_CONFIG   lpqscBuf;    
          LPSERVICE_DESCRIPTION   lpqscBuf2;  
          DWORD   dwBytesNeeded;    
     
          //   Open   a   handle   to   the   service.    
     
          schService   =   OpenService(    
                  schSCManager,                       //   SCManager   database    
                  "Sample_Srv",                       //   name   of   service    
                  SERVICE_QUERY_CONFIG);     //   need   QUERY   access    
          if   (schService   ==   NULL)    
                  MyErrorExit("OpenService");    
     
          //   Allocate   a   buffer   for   the   configuration   information.    
     
          lpqscBuf   =   (LPQUERY_SERVICE_CONFIG)   LocalAlloc(    
                  LPTR,   4096);    
          if   (lpqscBuf   ==   NULL)    
                  MyErrorExit("LocalAlloc");    
     
          lpqscBuf2   =   (LPSERVICE_DESCRIPTION)   LocalAlloc(    
                  LPTR,   4096);    
          if   (lpqscBuf2   ==   NULL)    
                  MyErrorExit("LocalAlloc");    
     
          //   Get   the   configuration   information.    
     
          if   (!   QueryServiceConfig(    
                  schService,    
                  lpqscBuf,    
                  4096,    
                  &dwBytesNeeded)   )    
          {  
                  MyErrorExit("QueryServiceConfig");    
          }  
     
          if   (!   QueryServiceConfig2(    
                  schService,    
                  SERVICE_CONFIG_DESCRIPTION,  
                  lpqscBuf2,    
                  4096,    
                  &dwBytesNeeded)   )    
          {  
                  MyErrorExit("QueryServiceConfig2");    
          }  
     
          //   Print   the   configuration   information.    
     
          printf("\nSample_Srv   configuration:   \n");    
          printf("   Type:   0x%x\n",   lpqscBuf->dwServiceType);    
          printf("   Start   Type:   0x%x\n",   lpqscBuf->dwStartType);    
          printf("   Error   Control:   0x%x\n",   lpqscBuf->dwErrorControl);    
          printf("   Binary   path:   %s\n",   lpqscBuf->lpBinaryPathName);     //   <<======   注意!这里就是你要的!  
   
          if   (lpqscBuf->lpLoadOrderGroup   !=   NULL)    
                  printf("   Load   order   group:   %s\n",   lpqscBuf->lpLoadOrderGroup);    
          if   (lpqscBuf->dwTagId   !=   0)    
                  printf("   Tag   ID:   %d\n",   lpqscBuf->dwTagId);    
          if   (lpqscBuf->lpDependencies   !=   NULL)    
                  printf("   Dependencies:   %s\n",   lpqscBuf->lpDependencies);    
          if   (lpqscBuf->lpServiceStartName   !=   NULL)    
                  printf("   Start   Name:   %s\n",   lpqscBuf->lpServiceStartName);    
          if   (lpqscBuf2->lpDescription   !=   NULL)    
                  printf("   Description:   %s\n",   lpqscBuf2->lpDescription);    
     
          LocalFree(lpqscBuf);    
          LocalFree(lpqscBuf2);    
  }Top

3 楼lzzqqq(Jonersen)回复于 2004-12-02 17:25:31 得分 0

先用  
  GetServiceKeyName();  
  得到注册表对应该服务的健值信息。  
  再取该键的  
  "GetServiceKeyName"  
  值.Top

相关问题

  • 如何删去Acdsee的已经看过文件的路经?
  • “俩问题,每题100分”之“文件的相对路经”
  • Word如何利用 打开文件 窗来获取 文件全路经
  • 已知文件所在的路径,如何删除该文件?
  • 如何获得exe文件所在的文件夹?
  • 在jsp中,文件上传时如何获得文件的大小,文件名,路经,具体一点.非常感谢!十分急用!
  • 找不到文件"d:\路经"(或它的组建之一)请确认他路经和文件名是否正确,而且所需库文件均可用!请解决,谢谢
  • 请问怎么用ASP获取所在ASP文件的文件名??
  • 求助!怎样根据文件名字得到文件所在的路径??急!!!
  • 如何知道当前所在程序的文件名?

关键词

  • service
  • null
  • lpqscbuf
  • myerrorexit
  • schservice
  • queryserviceconfig
  • localalloc
  • description
  • config

得分解答快速导航

  • 帖主:ttoomm
  • DentistryDoctor
  • danyueer

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo