MFC:GetCurrentDirectory函数

sta*_*tor 6 mfc

我知道MFC框架上存在GetCurrentDirectory()和SetCurrentDirectory()函数,但我的应用程序中没有CFtpConnection对象.我有一个简单的CWinApp派生类,我想在程序启动时检索它的工作目录.实现这一目标的最简单方法是什么?提前感谢您的建议.

Ger*_*ald 15

GetCurrentDirectory是一个简单的Win32 API函数,所以只需调用它:

TCHAR currentDir[MAX_PATH];
GetCurrentDirectory( MAX_PATH, currentDir );
Run Code Online (Sandbox Code Playgroud)

  • 有相同的代码,但使用 CString 类(不要忘记为你的 `CString` 对象调用 `ReleaseBuffer()`): `CString curDir; GetCurrentDirectory(MAX_PATH, curDir.GetBufferSetLength(MAX_PATH)); curDir.ReleaseBuffer();` (2认同)

Gis*_*way 6

我假设您正在尝试获取.exe文件所在的目录而不是当前目录.该目录可以与当前目录不同.

    TCHAR buff[MAX_PATH];
    memset(buff, 0, MAX_PATH);
    ::GetModuleFileName(NULL,buff,sizeof(buff));    
    CString strFolder = buff;
    strFolder = strFolder.Left(strFolder.ReverseFind(_T('\\'))+1);    
Run Code Online (Sandbox Code Playgroud)