• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 如何得到NT服务可执行文件的所在路经?

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

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了可执行文件,可执行文件的扩展名,可执行文件是什么,steam缺少可执行文件,steam缺失可执行文件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 如何得到NT服务可执行文件的所在路经?
描述:

谢谢!


解决方案1:

调用序列:
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); 
}

解决方案2:

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


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 企业项目:破译软件,可否把可执行文件反汇编得到它的源代码?
  • 如何转化可执行文件为ActiveX控件,言者有分,谢谢
  • 请问如何将ActiveX控件打包成一个可执行文件中运行
  • COM可执行文件插装
  • 如何在exe可执行文件中获得ocx控件窗口句柄(HWND)
  • 调用会话的可执行文件//为什么atl程序运行弹出这个对话框呢?
  • vc2010开发的ocx,在其他机器注册提示不是一个可执行文件
  • ATL可执行文件如何注册
  • 在98下怎么关掉进程知道进程名以及进程对应的可执行文件路径)
  • 如何在程序运行时获得该程序的可执行文件的路径?请指教

相关文章

  • 2017-06-04 vb中怎么调试vc做的com组件
  • 2017-06-05 C++,请问一下,这个类的作用是什么,那些代码是自动生成的
  • 2017-06-04 开发com我是应该学习哪个MFC还是ATL?
  • 2017-06-05 如何捕获打印机名称修改事件三个帖子,共300分哦
  • 2017-06-04 急啊!!关于控件的问题
  • 2017-06-04 如何能够不在注册表中注册CLSID,而能使用呢?
  • 2017-06-04 MSCOMM控件问题
  • 2017-06-04 inconsistentdlllinkagedllexportassumed
  • 2017-06-04 com+VB+VC的问题!
  • 2017-06-04 如何用VC6实现对话框中的文本滚动效果呀

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 求助:一个引入窗体技术的自制控件问题。请指教。。。。在线等,,急
    • 求高手:关于释放Dll的问题
    • 请教一个DLL卸载时关闭数据库连接问题
    • 钩子在98里面钩不到自定义消息
    • 如何结束一个用户界面线程?
    • 如何传递接口指针?
    • CreateThread一个成员函数的问题。
    • 请实际用过WinSock作过工程的高手进来,关于多线程的方案。
    • 谁知道,Windows系统服务里,控制"启动类型"是那个参数来控制
    • 利用HOOK可以截获网络数据包吗?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有