当前位置:首页 科普知识 GetModuleFileName

GetModuleFileName

发布时间:2023-09-14 02:16:33

获取当前进程已加载模块的文件的完整路径,该模块必须由当前进程加载。

GetModuleFileName介绍

获取当前进程已加载模块的文件的完整路径,该模块必须由当前进程加载。

GetModuleFileName

如果想要获取另一个已加载模块的文件路径,可以使用GetModuleFileNameEx函数。

GetModuleFileName声明

VB

Declare Function GetModuleFileName Lib "kernel32" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long

C++

DWORD WINAPI GetModuleFileName(    _In_opt_  HMODULE hModule,    _Out_     LPTSTR lpFilename,    _In_      DWORD nSize);

GetModuleFileName返回值

Long,如执行成功,返回复制到lpFileName的实际字符数量;零表示失败。使用GetLastError可以打印错误信息。

GetModuleFileName参数

hModule Long

一个模块的句柄。可以是一个DLL模块,或者是一个应用程序的实例句柄。如果该参数为NULL,

该函数返回该应用程序全路径。

lpFileName String

指定一个字串缓冲区,要在其中容纳文件的用NULL字符中止的路径名,hModule模块就是从这个文件装载进来的

GetModuleFileName

nSize Long

装载到缓冲区lpFileName的最大字符数量

GetModuleFileName注解

在Windows 95下,函数会核查应用程序的内部版本号是否为4.0或更大的一个数字。如果是,就返回一个长文件名,否则返回短文件名

原型及各参数解释

DWORD GetModuleFileName(    HMODULE hModule,    LPTSTR lpFilename,    DWORD nSize);

获得hModule所指的文件的名字,

hModule在LoadLibrary之类的函数会返回,是一个句柄,用来标记这个文件资源。

lpFilename是你存放返回的名字的内存块的指针,是一个输出参数,nSize是这个内存块的大小,用于防止溢出。

返回值是用于指示是否发生错误的。

GetModuleFileNameVC函数

GetModuleFileName函数原型

DWORDGetModuleFileName(HMODULE  hModule,LPTSTR  lpFilename,DWORD  nSize);

GetModuleFileName函数参数

HMODULE hModule 装载一个程序实例的句柄。如果该参数为NULL,该函数返回该当前应用程序全路径。

LPTSTR lpFileName 是你存放返回的名字的内存块的指针,是一个输出参数

DWORD nSize,装载到缓冲区lpFileName的最大值

GetModuleFileName

GetModuleFileName函数返回值

如果返回为成功,将在lpFileName的缓冲区当中返回相应模块的路径,如果所设的nSize过小,那么返回仅按所设置缓冲区大小返回相应字符串内容。

如果函数失败,返回值将为0,利用GetLastError可获得异常代码。

GetModuleFileName头文件

windows.h

GetModuleFileName实例源代码

#include <windows.h>#include <stdio.h>BOOL CreateSampleService(){    TCHAR szPath;    if( !GetModuleFileName( NULL, szPath, MAX_PATH ) )    {        printf("GetModuleFileName failed (%d)n", GetLastError());        return FALSE;    }return TRUE;}

温馨提示:
本文【GetModuleFileName】由作者 爱百科 转载提供。 该文观点仅代表作者本人, 自学教育网 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6