GetModuleFileName
来源:互联网 发布:看图软件推荐 编辑:程序博客网 时间:2024/06/04 18:44
GetCurrentDirectory与GetModuleFileName
GetModuleFileName是获得程序当前的运行目录
GetCurrentDirectory获取当前进程所有在的目录
Copy code CFileDialog fdlg(true);
fdlg.DoModal();//////
TCHAR *pBuffer = new TCHAR[1024];
ZeroMemory(pBuffer, 1024);
GetCurrentDirectory(1024, pBuffer);
MessageBox(pBuffer, L"GetCurrentDirectory");
ZeroMemory(pBuffer, 1024);
GetModuleFileName(NULL, pBuffer, 1024);
MessageBox(pBuffer, L"GetModuleFileName");
GetModuleFileName(NULL,szText,MAX_PATH);//只有第一个参数为NULL,返回当前模块的PathName,否则返回对应dll路径
GetFullPathName("",MAX_PATH,szText,NULL);//根据第一个参数提供的文件名(可用相对路径,8.3格式)扩充到含驱动器和目录
获取路径及目录信息
获取路径
Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名。
Example:
TCHAR exeFullPath[MAX_PATH]; // MAX_PATH在API中定义了吧,好象是128
GetModuleFileName(NULL,exeFullPath,MAX_PATH)
获得各种目录信息
Windows目录: Use "GetWindowsDirectory“
system目录: Use "GetSystemDirectory"
temp目录: Use "GetTempPath "
当前目录: Use "GetCurrentDirectory"
请注意前两个函数的第一个参数为 目录变量名,后一个为缓冲区; 后两个相反.
//---------------------------------------------------------------------
获得当前工作目录的路径
调用SDK函数GetCurrentDirectory可以获得当前工作目录的路径。
下面的例子在 CString对象中创建一个返回当前工作目录的函数:
CSrting GetCurrentWorkingDir ()
{
CString strDir ;
: : GetCurrentDirectory (MAX_PATH, strDir . GetBuffer (MAX_PATH ));
strDir. ReleaseBuffer ( )
return strDir ; }
调用SDK函数GetModuleFileName可以获取应用程序的路径,然后除去可以执行文件名部分。下面的例子是一个函数,可以调用以确定所载入的应用程序目录。在初始化过程中工作框调用GetModuleFileName并在CWinApp: : m _pszhelpFilePath中主帮助文件路径。如果没有指定新的帮助文件目录,可以使用m_pszHelpFilePath而不必调用GetModuleFileName。
void GetLaunchedDir (Cstring &―> strLaunched)
{
TCHAR szFullPath [MAX_PATH];
TCHAR szDir [_MAX_DIR];
TCHAR szDrive [_MAX_DRIVE]; //Get application's full path.
: : GetModuleFileName (NULL, szFullPath , MAX_PATH);
//Break full path into separate components .
_splitpath (szFullPath, szDrive , szDir , NULL , NULL );
//Store application's drive and path .
strLaunched . Format (_T ("%s%s"), szDrive , szDir );
}
该函数返回一个长路径名,工作框中的一些函数如AfxOleRegisterControlClass和CDocManager : : RegisterShellFileTypes使用AfxGetModuleShortFileName半文档化的函数来代替GetModuleFileName, 该函数返回一个模块的短路径名,该函数在AFXPRIV.H中说明,在FILECORE.CPP中实现。
下面就是该函数的实现:
void AFXAPI AfxGetModuleShortFileName (HINSTANGCE hInst , Cstring &strShortName )
{
TCHAR szLongPathName [_MAX_PATH ];
: :GetmoduleFileName (hInst, szLongPathName , _MAX _PATH);
: :GetShortPathName (szLongPathName,strShortName. GetBuffer (_MAX_PATH), _MAX_PATH);
strShortName. ReleasBuffer ();
}
VC中使用GetModuleFileName获取应用程序路径2007-07-29 16:12.\\与API函数GetModuleFileName获取应用程序目录有何不一样?
--------------------------------------------------------------------------------
采用.\\也能获得应用程序目录,采用GetModuleFileName也能获得,二者有何不同?
--------------------------------------------------------------------------------
一样!
一个是相对路径,一个是绝对路径
--------------------------------------------------------------------------------
.\\是的到应用程序的当前目录,但当前目录不一定等于应用程序执行文件的所在目录,一个应用程序被启动时,当前目录是可以被任意设置的。
GetModuleFileName()得到模块的完整路径名,例如,你载入c:\windows\system32\a.dll,得到模块句柄h,则你可以用GetModuleFileName()得到h模块的完整路径名。
--------------------------------------------------------------------------------
.\\一般用在包含头文件的语句中。
另一个是程序编译后起作用的,例如,打开自定义的配置文件等。
--------------------------------------------------------------------------------
如何去取得这个Hanlde?
--------------------------------------------------------------------------------
如果你直接用LoadLibrary()或AfxLoadLibrary()载入dll,该函数返回值就是handle;
如果你隐式载入dll, 用GetModuleHandle("dll文件名")也可以得到handle;
MFC程序得到本身路径
在开发工程中,往往需要知道当前程序本身所在目录。
一种方法是在程序安装的时候利用安装程序把文件路径写入注册表。在较大的程序中,这种方法比较常用
另一种,就是在程序得到路径。这样,程序随便移动到哪里,都可以得到正确的路径。这也是本文介绍的方法。
方法一:
[code]
//得到帮助文件的路径
CString strFullName = AfxGetApp()->m_pszHelpFilePath;
//得到的是:X:\XXXX\XXX.hlp
//解析路径,得到当前运行程序所在目录
char drive[_MAX_DRIVE];
char dir[_MAX_DIR];
_splitpath(strAppName, drive, dir, NULL,NULL);
CString strPath;
strPath.Format("%s%s", drive, dir);
//strPath即为得到的当前运行程序所在目录
[/code]
另外,AfxGetApp()->m_pszAppName 得到应用程序名称
AfxGetApp()->m_pszExeName 得到程序文件名,不包括扩展名
方法二:
得到全路径
TCHAR exeFullPath[MAX_PATH]; // MAX_PATH
GetModuleFileName(NULL,exeFullPath,MAX_PATH);//得到程序模块名称,全路径
也就是当前运行程序的全路径
利用方法一的解析路径的方法,即可得到程序所在路径。
GetModuleFileName函数原型
DWORD GetModuleFileName(
HMODULE hModule, // handle to module。将要得到的模块的句柄。如果是当前模块,NULL
LPTSTR lpFilename, // path buffer 得到的文件名。
DWORD nSize // size of buffer 一般MAX_PATH就可以了
);
GetModuleFileName获取程序当前执行路径
DWORD GetProgramDir(DWORD nBufferLength, LPTSTR lpBuffer)
{
DWORD dwReturn = 0;
if (nBufferLength <= 0 || lpBuffer == NULL)
return dwReturn;
dwReturn = ::GetModuleFileName(NULL, lpBuffer, nBufferLength);
if (dwReturn <= nBufferLength)
{
// Remove filename from path
LPTSTR tszSlash = _tcsrchr(lpBuffer, static_cast<int>(_T(''\\'')));
if (tszSlash)
*++tszSlash = _T(''\0'');
}
return dwReturn;
}
Return Values
If the function succeeds, the return value is the length of the string that is copied to the buffer, in TCHARs. If the buffer is too small to hold the module name, the string is truncated to nSize, and the function returns nSize.
If the function fails, the return value is 0 (zero). To get extended error information, call GetLastError.
文章出处:http://www.diybl.com/course/3_program/c++/cppjs/2008114/96493.html
GetModuleFileName
函数功能:该函数为含有指定模块的可执行文件检索全路文件名。在Windows95中,当应用程序的版本大于可或等于4.0且可得到长文件名,则该函数返回长文件名,否则,仅返回8.3格式的文件名。
函数原型:DWORD GetModuleFileName(HMODULE hModule, LPTSTR lpFilename, DWORD nsize);
参数:
hModule:指向模块的句柄,该模块的可执行文件名被请求,如果此参数为NULL,则函数GetModuleFileName返回用来创建调用进程的文件路径。
lpFilename:指向一个缓冲区的指针,该缓冲区被给定模块的路径和文件名填充。
nsize:指向一个缓冲区的字符长度,如果路径和名的长度超过此范围,则字符串被截断。
返回值:如果函数调用成功,返回值为复制到缓冲区的字符串的字符长度;否则,返回值为零。若想获得更多错误信息,请调用GetLastError函数。
备注:如果一个模块被装载到两个进程,那么在一个进程中的模块文件与在与在另一个进程中的模块文件名不一样。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winbase.h;库文件:kernel32.lib;Unicode:在Windows NT上实现为Unicode和ANSI两种版本。
Windows API一日一练(83)GetModuleFileName函数
在开发软件的过程里,经常需要把数据保存到当前执行文件路径下面,或者读取当前执行文件路径下的一些配置信息。这时就需要从当前模块里获取所在的目录路径,以便进行固定的位置操作文件。要解决这个需求,就需要调用API函数GetModuleFileName来获取模块所在的路径。
函数GetModuleFileName声明如下:
WINBASEAPI
DWORD
WINAPI
GetModuleFileNameA(
__in_opt HMODULE hModule,
__out_ecount_part(nSize, return + 1) LPCH lpFilename,
__in DWORD nSize
);
WINBASEAPI
DWORD
WINAPI
GetModuleFileNameW(
__in_opt HMODULE hModule,
__out_ecount_part(nSize, return + 1) LPWCH lpFilename,
__in DWORD nSize
);
#ifdef UNICODE
#define GetModuleFileName GetModuleFileNameW
#else
#define GetModuleFileName GetModuleFileNameA
#endif // !UNICODE
hModule是模块的句柄,或者设置为NULL表示当前模块。
lpFilename是保存路径的缓冲区。
nSize是缓冲区的大小。
调用函数的例子如下:
#001 //获取当前程序所在路径。
#002 //蔡军生 2007/12/05 QQ:9073204 深圳
#003 void TestGetExePath(void)
#004 {
#005 //
#006 const int nBufSize = 512;
#007 TCHAR chBuf[nBufSize];
#008 ZeroMemory(chBuf,nBufSize);
#009
#010 //获取当前执行文件的路径。
#011 if (GetModuleFileName(NULL,chBuf,nBufSize))
#012 {
#013 //输出带文件名称路径。
#014 OutputDebugString(chBuf);
#015 OutputDebugString(_T("\r\n"));
#016
#017 //获取文件路径。
#018 TCHAR* lpStrPath = chBuf;
#019 PathRemoveFileSpec(lpStrPath);
#020 OutputDebugString(lpStrPath);
#021 OutputDebugString(_T("\r\n"));
#022 }
#023
#024 }
输出的结果如下:
g:\work\windows_api\wincpp2\debug\WinCpp.exe
g:\work\windows_api\wincpp2\debug
#kahn178 发表于2007-12-06 10:18:09 IP: 116.30.18.*
WINBASEAPI
DWORD
WINAPI
GetModuleFileNameA(
__in_opt HMODULE hModule,
__out_ecount_part(nSize, return + 1) LPCH lpFilename,
__in DWORD nSize
);
这一段怎么有两次呢,是不是发多了,还是必须要这样做,我看到您的很多篇里面都有这样的情况,所以想问一下,因为我不是太明白。
2007-12-06 21:28:42作者回复
就是ANSI与UNICODE字符的差别。#ys19811110 发表于2007-12-06 12:06:56 IP: 218.247.158.*
GetModuleFileNameA 是ASCII版本
GetModuleFileNameW 是Unicode版本
#kmlxk 发表于2007-12-07 08:31:06 IP: 222.178.10.*
强大了,堪称中文版的API SDK~~#kahn178 发表于2007-12-10 09:19:32 IP: 116.30.18.*
谢谢!~!!
用GetModuleFileName获取程序当前执行文件名
在开发过程中经常需要获得程序当前的运行目录,这时就可以使用GetModuleFileName函数
DWORD WINAPI GetModuleFileName(
HMODULE hModule,
LPTSTR lpFileName,
DWORD nSize
);
hModule:要获取文件名的模块名柄,null表示当前模块
lpFileName:输出参数,存放取得的文件名
nSize:lpFileName参数的长度
例
void FileName()
{
TCHAR lpFileName[MAX_PATH];
::GetModuleFileName(null, lpFileName, MAX_PATH);
SetDlgItemText(IDC_TEXTBOX, lpFileName);
}
GetModuleFileName是获得程序当前的运行目录
GetCurrentDirectory获取当前进程所有在的目录
Copy code CFileDialog fdlg(true);
fdlg.DoModal();//////
TCHAR *pBuffer = new TCHAR[1024];
ZeroMemory(pBuffer, 1024);
GetCurrentDirectory(1024, pBuffer);
MessageBox(pBuffer, L"GetCurrentDirectory");
ZeroMemory(pBuffer, 1024);
GetModuleFileName(NULL, pBuffer, 1024);
MessageBox(pBuffer, L"GetModuleFileName");
GetModuleFileName(NULL,szText,MAX_PATH);//只有第一个参数为NULL,返回当前模块的PathName,否则返回对应dll路径
GetFullPathName("",MAX_PATH,szText,NULL);//根据第一个参数提供的文件名(可用相对路径,8.3格式)扩充到含驱动器和目录
获取路径及目录信息
获取路径
Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名。
Example:
TCHAR exeFullPath[MAX_PATH]; // MAX_PATH在API中定义了吧,好象是128
GetModuleFileName(NULL,exeFullPath,MAX_PATH)
获得各种目录信息
Windows目录: Use "GetWindowsDirectory“
system目录: Use "GetSystemDirectory"
temp目录: Use "GetTempPath "
当前目录: Use "GetCurrentDirectory"
请注意前两个函数的第一个参数为 目录变量名,后一个为缓冲区; 后两个相反.
//---------------------------------------------------------------------
获得当前工作目录的路径
调用SDK函数GetCurrentDirectory可以获得当前工作目录的路径。
下面的例子在 CString对象中创建一个返回当前工作目录的函数:
CSrting GetCurrentWorkingDir ()
{
CString strDir ;
: : GetCurrentDirectory (MAX_PATH, strDir . GetBuffer (MAX_PATH ));
strDir. ReleaseBuffer ( )
return strDir ; }
调用SDK函数GetModuleFileName可以获取应用程序的路径,然后除去可以执行文件名部分。下面的例子是一个函数,可以调用以确定所载入的应用程序目录。在初始化过程中工作框调用GetModuleFileName并在CWinApp: : m _pszhelpFilePath中主帮助文件路径。如果没有指定新的帮助文件目录,可以使用m_pszHelpFilePath而不必调用GetModuleFileName。
void GetLaunchedDir (Cstring &―> strLaunched)
{
TCHAR szFullPath [MAX_PATH];
TCHAR szDir [_MAX_DIR];
TCHAR szDrive [_MAX_DRIVE]; //Get application's full path.
: : GetModuleFileName (NULL, szFullPath , MAX_PATH);
//Break full path into separate components .
_splitpath (szFullPath, szDrive , szDir , NULL , NULL );
//Store application's drive and path .
strLaunched . Format (_T ("%s%s"), szDrive , szDir );
}
该函数返回一个长路径名,工作框中的一些函数如AfxOleRegisterControlClass和CDocManager : : RegisterShellFileTypes使用AfxGetModuleShortFileName半文档化的函数来代替GetModuleFileName, 该函数返回一个模块的短路径名,该函数在AFXPRIV.H中说明,在FILECORE.CPP中实现。
下面就是该函数的实现:
void AFXAPI AfxGetModuleShortFileName (HINSTANGCE hInst , Cstring &strShortName )
{
TCHAR szLongPathName [_MAX_PATH ];
: :GetmoduleFileName (hInst, szLongPathName , _MAX _PATH);
: :GetShortPathName (szLongPathName,strShortName. GetBuffer (_MAX_PATH), _MAX_PATH);
strShortName. ReleasBuffer ();
}
VC中使用GetModuleFileName获取应用程序路径2007-07-29 16:12.\\与API函数GetModuleFileName获取应用程序目录有何不一样?
--------------------------------------------------------------------------------
采用.\\也能获得应用程序目录,采用GetModuleFileName也能获得,二者有何不同?
--------------------------------------------------------------------------------
一样!
一个是相对路径,一个是绝对路径
--------------------------------------------------------------------------------
.\\是的到应用程序的当前目录,但当前目录不一定等于应用程序执行文件的所在目录,一个应用程序被启动时,当前目录是可以被任意设置的。
GetModuleFileName()得到模块的完整路径名,例如,你载入c:\windows\system32\a.dll,得到模块句柄h,则你可以用GetModuleFileName()得到h模块的完整路径名。
--------------------------------------------------------------------------------
.\\一般用在包含头文件的语句中。
另一个是程序编译后起作用的,例如,打开自定义的配置文件等。
--------------------------------------------------------------------------------
如何去取得这个Hanlde?
--------------------------------------------------------------------------------
如果你直接用LoadLibrary()或AfxLoadLibrary()载入dll,该函数返回值就是handle;
如果你隐式载入dll, 用GetModuleHandle("dll文件名")也可以得到handle;
MFC程序得到本身路径
在开发工程中,往往需要知道当前程序本身所在目录。
一种方法是在程序安装的时候利用安装程序把文件路径写入注册表。在较大的程序中,这种方法比较常用
另一种,就是在程序得到路径。这样,程序随便移动到哪里,都可以得到正确的路径。这也是本文介绍的方法。
方法一:
[code]
//得到帮助文件的路径
CString strFullName = AfxGetApp()->m_pszHelpFilePath;
//得到的是:X:\XXXX\XXX.hlp
//解析路径,得到当前运行程序所在目录
char drive[_MAX_DRIVE];
char dir[_MAX_DIR];
_splitpath(strAppName, drive, dir, NULL,NULL);
CString strPath;
strPath.Format("%s%s", drive, dir);
//strPath即为得到的当前运行程序所在目录
[/code]
另外,AfxGetApp()->m_pszAppName 得到应用程序名称
AfxGetApp()->m_pszExeName 得到程序文件名,不包括扩展名
方法二:
得到全路径
TCHAR exeFullPath[MAX_PATH]; // MAX_PATH
GetModuleFileName(NULL,exeFullPath,MAX_PATH);//得到程序模块名称,全路径
也就是当前运行程序的全路径
利用方法一的解析路径的方法,即可得到程序所在路径。
GetModuleFileName函数原型
DWORD GetModuleFileName(
HMODULE hModule, // handle to module。将要得到的模块的句柄。如果是当前模块,NULL
LPTSTR lpFilename, // path buffer 得到的文件名。
DWORD nSize // size of buffer 一般MAX_PATH就可以了
);
GetModuleFileName获取程序当前执行路径
DWORD GetProgramDir(DWORD nBufferLength, LPTSTR lpBuffer)
{
DWORD dwReturn = 0;
if (nBufferLength <= 0 || lpBuffer == NULL)
return dwReturn;
dwReturn = ::GetModuleFileName(NULL, lpBuffer, nBufferLength);
if (dwReturn <= nBufferLength)
{
// Remove filename from path
LPTSTR tszSlash = _tcsrchr(lpBuffer, static_cast<int>(_T(''\\'')));
if (tszSlash)
*++tszSlash = _T(''\0'');
}
return dwReturn;
}
Return Values
If the function succeeds, the return value is the length of the string that is copied to the buffer, in TCHARs. If the buffer is too small to hold the module name, the string is truncated to nSize, and the function returns nSize.
If the function fails, the return value is 0 (zero). To get extended error information, call GetLastError.
文章出处:http://www.diybl.com/course/3_program/c++/cppjs/2008114/96493.html
GetModuleFileName
函数功能:该函数为含有指定模块的可执行文件检索全路文件名。在Windows95中,当应用程序的版本大于可或等于4.0且可得到长文件名,则该函数返回长文件名,否则,仅返回8.3格式的文件名。
函数原型:DWORD GetModuleFileName(HMODULE hModule, LPTSTR lpFilename, DWORD nsize);
参数:
hModule:指向模块的句柄,该模块的可执行文件名被请求,如果此参数为NULL,则函数GetModuleFileName返回用来创建调用进程的文件路径。
lpFilename:指向一个缓冲区的指针,该缓冲区被给定模块的路径和文件名填充。
nsize:指向一个缓冲区的字符长度,如果路径和名的长度超过此范围,则字符串被截断。
返回值:如果函数调用成功,返回值为复制到缓冲区的字符串的字符长度;否则,返回值为零。若想获得更多错误信息,请调用GetLastError函数。
备注:如果一个模块被装载到两个进程,那么在一个进程中的模块文件与在与在另一个进程中的模块文件名不一样。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winbase.h;库文件:kernel32.lib;Unicode:在Windows NT上实现为Unicode和ANSI两种版本。
Windows API一日一练(83)GetModuleFileName函数
在开发软件的过程里,经常需要把数据保存到当前执行文件路径下面,或者读取当前执行文件路径下的一些配置信息。这时就需要从当前模块里获取所在的目录路径,以便进行固定的位置操作文件。要解决这个需求,就需要调用API函数GetModuleFileName来获取模块所在的路径。
函数GetModuleFileName声明如下:
WINBASEAPI
DWORD
WINAPI
GetModuleFileNameA(
__in_opt HMODULE hModule,
__out_ecount_part(nSize, return + 1) LPCH lpFilename,
__in DWORD nSize
);
WINBASEAPI
DWORD
WINAPI
GetModuleFileNameW(
__in_opt HMODULE hModule,
__out_ecount_part(nSize, return + 1) LPWCH lpFilename,
__in DWORD nSize
);
#ifdef UNICODE
#define GetModuleFileName GetModuleFileNameW
#else
#define GetModuleFileName GetModuleFileNameA
#endif // !UNICODE
hModule是模块的句柄,或者设置为NULL表示当前模块。
lpFilename是保存路径的缓冲区。
nSize是缓冲区的大小。
调用函数的例子如下:
#001 //获取当前程序所在路径。
#002 //蔡军生 2007/12/05 QQ:9073204 深圳
#003 void TestGetExePath(void)
#004 {
#005 //
#006 const int nBufSize = 512;
#007 TCHAR chBuf[nBufSize];
#008 ZeroMemory(chBuf,nBufSize);
#009
#010 //获取当前执行文件的路径。
#011 if (GetModuleFileName(NULL,chBuf,nBufSize))
#012 {
#013 //输出带文件名称路径。
#014 OutputDebugString(chBuf);
#015 OutputDebugString(_T("\r\n"));
#016
#017 //获取文件路径。
#018 TCHAR* lpStrPath = chBuf;
#019 PathRemoveFileSpec(lpStrPath);
#020 OutputDebugString(lpStrPath);
#021 OutputDebugString(_T("\r\n"));
#022 }
#023
#024 }
输出的结果如下:
g:\work\windows_api\wincpp2\debug\WinCpp.exe
g:\work\windows_api\wincpp2\debug
#kahn178 发表于2007-12-06 10:18:09 IP: 116.30.18.*
WINBASEAPI
DWORD
WINAPI
GetModuleFileNameA(
__in_opt HMODULE hModule,
__out_ecount_part(nSize, return + 1) LPCH lpFilename,
__in DWORD nSize
);
这一段怎么有两次呢,是不是发多了,还是必须要这样做,我看到您的很多篇里面都有这样的情况,所以想问一下,因为我不是太明白。
2007-12-06 21:28:42作者回复
就是ANSI与UNICODE字符的差别。#ys19811110 发表于2007-12-06 12:06:56 IP: 218.247.158.*
GetModuleFileNameA 是ASCII版本
GetModuleFileNameW 是Unicode版本
#kmlxk 发表于2007-12-07 08:31:06 IP: 222.178.10.*
强大了,堪称中文版的API SDK~~#kahn178 发表于2007-12-10 09:19:32 IP: 116.30.18.*
谢谢!~!!
用GetModuleFileName获取程序当前执行文件名
在开发过程中经常需要获得程序当前的运行目录,这时就可以使用GetModuleFileName函数
DWORD WINAPI GetModuleFileName(
HMODULE hModule,
LPTSTR lpFileName,
DWORD nSize
);
hModule:要获取文件名的模块名柄,null表示当前模块
lpFileName:输出参数,存放取得的文件名
nSize:lpFileName参数的长度
例
void FileName()
{
TCHAR lpFileName[MAX_PATH];
::GetModuleFileName(null, lpFileName, MAX_PATH);
SetDlgItemText(IDC_TEXTBOX, lpFileName);
}
- GetModuleFileName
- GetModuleFileName
- GetModuleFileName
- GetModuleFileName
- GetModuleFileName
- GetModuleFileName
- GetModuleFileName
- GetModuleFileName
- GetModuleFileName
- GetModuleFileName
- GetModuleFileName
- GetModuleFileName
- GetModuleFileName
- GetModuleFileName函数
- GetModuleFileName函数
- GetModuleFileName& GetCurrentDirectory
- GetModuleFileName()函数
- GetModuleFileName 函数
- android学习笔记10--------------SharedPreferences实现软件参数的保存和获取
- Invalidate
- 黑马程序员_泛型
- 对三个函数(Invalidate()/RedrawWindow()/UpdateWindow())的总结
- 一些转换函数
- GetModuleFileName
- 黑马程序员_静态导入
- DLL(动态链接库)专题
- 如何确定程序中栈的增长方向
- Dll(动态链接库)学习笔记
- delete与delete[]的区别
- 黑马程序员_注解
- C语言中可变参数的用法
- java 字符串abc全排列递归