WindowsAPI使用详解——GetWindowsDirectory|GetSystemDirectory 获取操作系统文件夹的路径

今天来介绍两个获取系统文件夹API函数
获取Windows文件夹的路径
UINT GetWindowsDirectory(LPTSTR lpBuffer,UINT uSize)

获取systrm32文件夹的路径
UINT GetSystemDirectory(LPTSTR lpBuffer,UINT uSize)


这两个函数的使用方法很简单,和以前一样有两种方法来确定缓冲区的长度:
1、Windows定义了一个文件路径的最长长度的常量MAX_PATH(值为260),我们可以用它来建立字符串缓冲区;
2、给缓冲区传入NULL,调用函数成功后将返回缓冲区的长度。

下面来看例子:
wstring getWindowsDirectory()
{
    wstring wstr;
    UINT size=GetWindowsDirectory(NULL,0);
    wchar_t *path=new wchar_t[size];
    if(GetWindowsDirectory(path,size)!=0) //函数调用失败将返回0
    {
     wstr=path;
    }
    delete [] path;
    return wstr;
}

wstring getSystemDirectory()
{
    wstring wstr;
    UINT size=GetSystemDirectory(NULL,0);
    wchar_t *path=new wchar_t[size];
    if(GetSystemDirectory(path,size)!=0)
    {
     wstr=path;
    }
    delete [] path;
    return wstr;
}

 
原文地址:https://www.cnblogs.com/callback/p/4248038.html