社区
ATL
帖子详情
如何得到NT服务可执行文件的所在路经?
ttoomm
2004-12-02 04:56:25
谢谢!
...全文
84
3
打赏
收藏
如何得到NT服务可执行文件的所在路经?
谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lzzqqq
2004-12-02
打赏
举报
回复
先用
GetServiceKeyName();
得到注册表对应该服务的健值信息。
再取该键的
"GetServiceKeyName"
值.
danyueer
2004-12-02
打赏
举报
回复
调用序列:
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);
}
DentistryDoctor
2004-12-02
打赏
举报
回复
一般来说可以在注册表里取得,多数服务都有一个ImagePath的键值。
Windows驱动开发系列:
NT
+WDM+WDF
驱动开发系列:
NT
+WDM+WDF 系列1:小白入门经典 系列2:WDM驱动开发 系列3:WDF驱动开发
批处理命令基础
第一章 批处理基础第一节 常用批处理内部命令简介批处理定义:顾名思义,批处理
文件
是将一系列命令按一定的顺序集合为一个可
执行
的文本
文件
,其扩展名为BAT或者CMD。这些命令统称批处理命令。小知识:可以在键盘上按...
window脚本批处理BAT
文件
大型攻略
BAT 批处理脚本 教程第一章 批处理基础第一节 常用批处理内部命令简介批处理定义顾名思义批处理
文件
是将一系列命令按一定的顺序集合为一个可
执行
的文本
文件
其扩展名为BAT或者CMD。这些命令统称批处理命令。小知识...
window批处理——bat
文件
的编写
第一章 批处理基础第一节 常用批处理内部命令简介批处理定义:顾名思义,批处理
文件
是将一系列命令按一定的顺序集合为一个可
执行
的文本
文件
,其扩展名为BAT或者CMD。这些命令统称批处理命令。小知识:可以在键盘上按...
Linux 基础入门(学习笔记通俗易懂版)
Linux起初由Linus Torvalds与1991年编写.../bin(binary):存放可
执行
文件
/dev(device):存放设备
文件
和特殊
文件
(比如光盘)/etc:存放系统配置
文件
/home:普通的主目录所在位置/lib:存放基本共享
文件
和内核模块/mut。
ATL
3,245
社区成员
48,537
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章