#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;
}
GetWindowsDirectory and GetSystemDirectory
最新推荐文章于 2023-07-04 17:28:44 发布