DWORD WINAPI GetModuleFileName(
_In_opt_ HMODULE hModule, //一个模块的句柄。可以是DLL模块,或应用程序的实例句柄。如果该参数为NULL.该函数返回该应用程序的全路径
_Out_ LPTSTR lpFilename,//指定一个字符缓冲区,要在其中容纳文件的用NULL字符种植的路径名,
_In_ DWORD nSize//缓冲区lpFileName的最大字符数量
);
返回值: LONG 如执行成功,返回复制到lpFileName的实际字符数量,0表示失败。
使用GetLastError可以打印错误
示例
#include <windows.h>
#include <stdio.h>
BOOL CreateSampleService()
{
TCHAR szPath[MAX_PATH];
if( !GetModuleFileName( NULL, szPath, MAX_PATH ) )
{
printf("GetModuleFileName failed (%d)\n", GetLastError());
return FALSE;
}
return TRUE;
}