GetModuleFileNameA函数 —— Microsoft文档翻译和使用示例

GetModuleFileNameA是一个用于获取当前进程或指定模块的完整文件路径的C++函数。当hModule参数为NULL时,它返回进程的主执行文件路径。函数返回值为字符串长度,若路径超长则会被截断。通过示例展示,函数正确运行时返回的路径与文件的实际绝对路径一致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GetModuleFileNameA function原文档链接:https://docs.microsoft.com/zh-cn/windows/desktop/api/libloaderapi/nf-libloaderapi-getmodulefilenamea

 

获取包含一个特定模块的文件的全路径,这个模块必须是由当前运行的进程的生成。

C++函数原型

DWORD GetModuleFileNameA(

    HMDULE hModule,

    LPSTR lpFilename,

    DWORD nSize

);

函数参数

  • hModule 

    所需路径的模块的句柄。如果该参数为NULL,函数会获取当前进程的运行文件(.exe文件)的全路径。

  • lpFilename 

    一个指向接收存储模块的全路径的缓冲区的指针。如果路径的长度小于nSize参数定义的长度,返回路径为一个结尾为空终止('\0')的字符串;如果路径的长度超过nSize参数所定义的长度,字符串会截断到nSize个字符的长度,并在最后及nSize-1的位置包含一个终止符('\0')。

  • nSize

    lpFilename缓冲区的长度。

返回值

   如果函数运行成功,返回值为字符串的长度。如果字符串的长度大于nSize字节,返回值为nSize。如果函数运行失败,返回值为0。

 

使用示例

char module_filename[MAX_PATH];
GetModuleFileNameA(NULL, module_filename, MAX_PATH);
cout << module_filename << endl;

运行结果如下,可以看到,通过GetModuleFileNameA函数获得的文件路径和该文件的绝对路径是相同的。

 

感谢~

转载请注明出处

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值