6/02/2015

Win API 자신의 실행 경로 가져오기(GetModuleFileName)

GetModuleFileName 이란 함수를 사용하여 쉽게 가져올 수 있습니다.

GetModuleFileName(NULL, Path, MAX_PATH);

Code

TCHAR Path[MAX_PATH] = {0};
GetModuleFileName(NULL, Path, MAX_PATH);

Path 선언 후 GetModuleFileName함수를 사용하면 두번째 인자값인 Path 에 현재 실행되는 프로그램의 절대경로가 들어가게 됩니다. 


MSDN Syntax


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

Parameters

hModule [in, optional]
A handle to the loaded module whose path is being requested. If this parameter is NULL,GetModuleFileName retrieves the path of the executable file of the current process.
The GetModuleFileName function does not retrieve the path for modules that were loaded using the LOAD_LIBRARY_AS_DATAFILE flag. For more information, see LoadLibraryEx.
lpFilename [out]
A pointer to a buffer that receives the fully qualified path of the module. If the length of the path is less than the size that the nSize parameter specifies, the function succeeds and the path is returned as a null-terminated string.
If the length of the path exceeds the size that the nSize parameter specifies, the function succeeds and the string is truncated to nSize characters including the terminating null character.
Windows XP:  The string is truncated to nSize characters and is not null-terminated.
The string returned will use the same format that was specified when the module was loaded. Therefore, the path can be a long or short file name, and can use the prefix "\\?\". For more information, see Naming a File.
nSize [in]
The size of the lpFilename buffer, in TCHARs.
 



HAHWUL

Security engineer, Gopher and H4cker!

Share: | Coffee Me:

0 개의 댓글:

Post a Comment