GetWindowsDirectoryA and GetSystemDirectory

复制代码
#include <iostream>
#include <Windows.h>

using std::cout;
using std::endl;

// 获取Windows文件夹的路径
//UINT GetWindowsDirectory(LPTSTR lpBuffer,UINT uSize)

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

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


int main()
{
    char* buf = nullptr;
    // 调用成功后,返回缓冲区的长度,返回windows文件夹的路径
    UINT Size = GetWindowsDirectory(NULL,0);
    buf = new char [Size];
    cout << Size << endl;
    if(0 != GetWindowsDirectoryA(buf,Size))
        cout << "WindowsDirectory path is :" << endl << buf << endl;
    else
        cout << "failed. GetLastError() :" << GetLastError() << endl;
    delete buf;
    buf = nullptr;
    cout << endl;

    // 调用成功后,返回缓冲区的长度,返回系统路径
    Size = GetSystemDirectory(NULL,0);
    buf = new char [Size];
    cout << Size << endl;
    if(0 != GetSystemDirectoryA(buf,Size))
        cout << "WindowsDirectory path is :" << endl << buf << endl;
    else
        cout << "failed. GetLastError() :" << GetLastError() << endl;
    delete buf;
    buf = nullptr;
    cout << endl;

    system("pause");
    return 0;
}
复制代码

 

 

【转】:https://blog.csdn.net/liangjisheng/article/details/67642491

posted on   lydstory  阅读(242)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示