char szAppName[MAX_PATH]; :: GetModuleFileName(theApp.m_hinstance, szAppName, MAX_PATH); 这样字符数组szAppName就保存了当前应用程序的全路径。现在发现它的一个妙用是可以通过它获取应用程序的一些辅助文件路径,如参数文件所在的路径、临时文件所在路径,只要设置这些路径和应用程序路径存在相对关系。比如现在exe文件...
char szAppName[MAX_PATH]; :: GetModuleFileName(theApp.m_hinstance, szAppName, MAX_PATH); 这样字符数组szAppName就保存了当前应用程序的全路径。现在发现它的一个妙用是可以通过它获取应用程序的一些辅助文件路径,如参数文件所在的路径、临时文件所在路径,只要设置这些路径和应用程序路径存在相对关系。比如现在exe文件...
int GetModuleFileName1( char* sModuleName, char* sFileName, int nSize) { int ret = -1; if( strchr( sModuleName,'/' ) != NULL ) strcpy( sFileName, sModuleName ); else { char* sPath = getenv("PATH"); char* pHead = sPath; char* pTail = NULL; while( pHead != NULL && ...
int main(int argc, char **argv) { TCHAR szPath[MAX_PATH]; if (!GetModuleFileName(NULL, szPath, MAX_PATH)) { printf("Cannot get the module file name, error: (%d) \n", GetLastError()); return 1; } else { printf("Module file name: %ls \n", szPath); } getchar(); return 0...
int GetModuleFileName1( char* sModuleName, char* sFileName, int nSize) { int ret = -1; if( strchr( sModuleName,/ ) != NULL ) strcpy( sFileName, sModuleName ); else { char* sPath = getenv("PATH"); char* pHead = sPath; ...
GetModuleFileNameA和GetModuleFileNameW的区别在于它们的字符串参数的“字符宽度”,这两个函数的原型如下:DWORD WINAPI GetModuleFileNameA( HMODULE hModule, LPSTR lpFilename, DWORD nSize );//ANSI版本,第二个参数是LPSTR,也就是char*。这意味着你需要向其传递的参数是char类型的字符串DWORD WINAPI ...
朱金灿 Windows API函数::GetModuleFileName的主要作用是获取当前应用程序的路径,其用法大致如下: extern CWinApp theApp; char szAppName[MAX_PATH]; :: GetModuleFileName(theApp.m_hinstance, szAppName, MAX_PATH); 这样字符数组szAppName ...
通过注册服务,开机自动启动程序,当前的路径实际上是C:\WINDOWS\system32。为了读取应用程序目录下的相关配置文件或者其他的加载文件,需要获取当前可执行程序的绝对路径路径,因此就需要调用该函数,而不是使用相对路径.\ 代码 std::stringGetCurDirPath(){charszExePath[MAX_PATH];::GetModuleFileName(NULL,szExePath,MAX...
应该是#include <windows.h> 因为这个是win32的API 比如你建立一个控制台程序 可以这样使用:char BufferFileName[MAX_PATH];//MAX_PATH是系统的宏定义 memset(BufferFileName,0,MAX_PATH);if( GetModuleFileName(NULL,BufferFileName,MAX_PATH) ){ 输出BufferFileName即可。} 第一个参数如果为NULL ...
const char* GetModuleFileName() { // 获取模块句柄 HMODULE hModule = GetModuleHandle(); if (hModule == NULL) { return "Failed to get module handle"; } // 获取模块文件名 DWORD size = MAX_PATH; char fileName[MAX_PATH] = {}; if (!GetModuleFileNameEx(hModule, fileName, size)) { return...