您的位置:首页 > 其它

WindowsAPI详解——GetCurrentDirectory 获得程序当前目录

2015-03-23 13:55 661 查看
每个Windows程序都有一个自己的当前目录,默认是程序exe文件所在的目录。系统在给程序加载动态链接库文件(DLL)时先在程序当前目录里查找要加载的DLL,如果在此目录下没有找到系统便会去Windows目录下查找。在这儿我们主要将如何获得程序的当前目录,如果没有自己去设置,我们可以把此目录看成进程所在目录。

函数原型:
DWORD GetCurrentDirectory(DWORD nBufferLength,LPWSTR lpBuffer)

函数返回值:
返回0表示失败,当函数调用成功将返回写入缓冲区的字符串长度

和以前一样我们有两种方法来确定缓冲区长度:
1、使用已定义的常量MAX_PATH(260);
2、使用给函数传入NULL的方法获得缓冲区长度。

下面是函数的使用方法:
wstring Info::getMyDirectory()
{
wstring wstr;
unsigned long size=GetCurrentDirectory(0,NULL);
wchar_t *path=new wchar_t[size];
if(GetCurrentDirectory(size,path)!=0)
{
wstr=path;
}
delete [] path;
return wstr;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐