博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获得进程可执行文件的路径: GetModuleFileNameEx, GetProcessImageFileName, QueryFullProcessImageName...
阅读量:5094 次
发布时间:2019-06-13

本文共 1440 字,大约阅读时间需要 4 分钟。

http://blog.csdn.net/bichenggui/article/details/4774457

--------------------------------------------------

2782人阅读
(0)

 

 

想获得进程可执行文件的路径通常有三个方法:

一: 调用GetModuleFileNameEx函数获得可执行文件的模块路径这个函数从Windows NT 4.0开始到现在的Vista系统都能使用,向后兼容性比较好。

 

二:调用GetProcessImageFileName函数,这个函数在Windows XP及其以后的系统中都能使用。

 

三:调用Windows Vista新增的函数QueryFullProcessImageName,由于是Vista新增的,所以兼容性不好。

 

下面来看看这三个函数的原型:

DWORD GetModuleFileNameEx(HANDLE hProcess,HMODULE hModule,LPTSTR lpFilename,DWORD nSize)
      hProcess是目标进程的句柄、hModule是目标模块的句柄(当此参数为NULL时函数返回的是进程可执行文件的路径)、lpFilename是 存放路径的字符串缓冲区、nSize表示缓冲区的大小。函数调用失败将返回0。注:进程的句柄须有PROCESS_QUERY_INFORMATION和 PROCESS_VM_READ权限。

 

DWORD GetProcessImageFileName(HANDLE hProcess,LPTSTR lpImageFileName,DWORD nSize)

      hProcess是目标进程的句柄、lpImageFileName是存放路径的字符串缓冲区、nSize表示缓冲区的大小。函数失败将返回0。注:进程句柄需要有PROCESS_QUERY_INFORMATION的权限。

 

BOOL QueryFullProcessImageName(HANDLE hProcess,DWORD dwFlags,LPTSTR lpExeName,PDWORD lpdwSize)

      hProcess是目标进程的句柄、dwFlags一般设为0(表示返回的路径是Win32的路径格式,如"C:/...",如将其设为 PROCESS_NAME_NATIVE将返回"/Device/HarddiskVolume1/..."这样的格式路径)、lpExeName是存放 路径的字符串缓冲区、lpdwSize表示缓冲区的大小。函数失败将返回FALSE。注:调用此函数的句柄须有 PROCESS_QUERY_INFORMATION或这是PROCESS_QUERY_LIMITED_INFORMATION的权限,并且只能在 Vista或更高版本的系统中使用。

 

      调用GetModuleFileNameExGetProcessImageFileName需要包含Psapi.h头文件,并链接到Psapi.lib

#include <Psapi.h>

#pragma comment (lib,"Psapi.lib")

posted on
2012-03-14 11:01 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/-clq/archive/2012/03/14/2395564.html

你可能感兴趣的文章
dl,dt,dd标签的使用
查看>>
Linux 查看文件 cat与 more 用法
查看>>
ZOJ 1244
查看>>
一次笔试题目附答案(sql答卷)
查看>>
【转】CSS Nuggest
查看>>
SQL2008"阻止保存要求重新创建表的更改"问题的解决
查看>>
52、[源码]-Spring源码总结
查看>>
Android开发中整合测试注意事项
查看>>
DevExpress ASP.NET v18.2新功能详解(三)
查看>>
查看linux系统版本命令
查看>>
20155302 课堂实践二
查看>>
JavaScript数值类型保留显示小数方法
查看>>
python--以1-31的数字作为结尾的列表?论英文好的重要性!
查看>>
解决Win7系统新建选项中无记事本问题
查看>>
nginx笔记---http配置
查看>>
升级到WP8必需知道的13个特性
查看>>
python学习笔记—— 多进程中的 孤儿进程和僵尸进程
查看>>
webapi ,前台json传入raw读取
查看>>
poj2481
查看>>
病毒侵袭(hdu2896,ac自动机)
查看>>