要将上述代码转换为Unicode类型,需要对字符数组和函数进行相应的修改。
wchar_t DiskBuff[MAX_PATH] = {0};
DWORD Len = GetLogicalDriveStringsW(0, 0); // 获取盘符的长度,使用GetLogicalDriveStringsW函数
wchar_t* Driver = new wchar_t[Len]; // Unicode字符数组
memset(Driver, 0, Len * sizeof(wchar_t)); // 使用sizeof计算内存大小
GetLogicalDriveStringsW(Len, Driver); // 使用GetLogicalDriveStringsW函数获取系统盘字符串
wchar_t* Driver_s = Driver; // 临时变量
while (wcslen(Driver_s) > 1) // 使用wcslen函数计算宽字符数组的长度
{
wcscat(DiskBuff, Driver_s); // 使用wcscat函数进行拼接
Driver_s += wcslen(Driver) + 1;
}
delete[] Driver;