我在程序中创建了一个组合框。我有一个名为add()
的函数,它将一些文件添加到指定的驱动器中。
我搜索了Google如何获取计算机中存在的驱动器列表,并找到了:
DWORD var1 = 100;
WCHAR storeValue[100];
DWORD drives = GetLogicalDriveStrings(var1, storeValue);
for (int i = 0;i < 100;i++)
{
return 0;
}
我想将计算机中存在的驱动器添加到组合框中,以便我的功能可以将文件添加到指定的驱动器。我怎样才能做到这一点?对初学者来说这很安静。
我非常清楚当我们创建浏览驱动器的内容时会更容易,但我希望在我的组合框中执行此操作。
答案 0 :(得分:3)
GetLogicalDriveStrings
使用双空终止字符串数组填充缓冲区。你可以这样迭代,在&#34; next&#34;的第一个字符时停止。 string为空。
wchar_t szDrives[MAX_PATH];
if (GetLogicalDriveStrings(MAX_PATH, szDrives))
{
wchar_t* pDrive = szDrives;
while (*pDrive)
{
// do something with pDrive
// jump to next
pDrive += wcslen(pDrive) + 1;
}
}
现在&#34;用pDrive做什么&#34;在你的情况下可以将字符串添加到组合框:
SendMessage(hwndCombo, CB_ADDSTRING, 0, reinterpret_cast<LPARAM>(pDrive));