您的位置:首页 > 其它

当前路径获取的问题

2012-02-20 13:03 253 查看
函数:

DWORD GetCurrentDirectory(
DWORD nBufferLength,  // size, in characters, of directory buffer
LPTSTR lpBuffer       // pointer to buffer for current directory
);


获得可执行文件当前路径,使用过程中可能会出现这样的问题:当软件执行过程中操作了其他路径下的文件,而此函数得到的不是可执行文件的当前路径,而是最后一个被操作过的文件的路径;例如:可执行文件在D:\123\215.exe,软件最后一次操作的文件在E:\682\324.txt,最后得到的路径则会是E:\682\。

当然出现的这样的问题不是我们想要的结果,问题总是有办法解决的;

函数:

DWORD GetModuleFileName(
HMODULE hModule,    // handle to module to find filename for
LPTSTR lpFilename,  // pointer to buffer to receive module path
DWORD nSize         // size of buffer, in characters
);


此函数可以获得当前执行文件的全路径,例如:直接可以得到D:\123\215.exe,虽然多出了个碍事的215.exe可执行文件名,只要我们去掉它,就是我们想要的路径D:\123\;

TCHAR Dirbuf[MAX_PATH];
LPTSTR LpCurDir;
LpCurDir=Dirbuf;
GetModuleFileName(NULL,LpCurDir,MAX_PATH);  //获取可执行文件的全路径
CString logName(LpCurDir);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: