当前路径获取的问题

函数:

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);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值