gpt4 book ai didi

c++ - GetLogicalDrives() for 循环

转载 作者:太空宇宙 更新时间:2023-11-04 05:04:29 24 4
gpt4 key购买 nike

我是 win32 api 的新手,需要帮助来理解 GetLogicalDrives() 函数的工作原理。我试图用所有未使用的可用驱动器填充 cbs_dropdownlist。这是我到目前为止所拥有的。如果有任何帮助,我将不胜感激。

void FillListBox(HWND hWndDropMenu)
{
DWORD drives = GetLogicalDrives();
for (int i=0; i<26; i++)
{
SendMessage(hWndDropMenu, CB_ADDSTRING, 0, (LPARAM)drives);
}
}

最佳答案

GetLogicalDrives 函数返回可用逻辑驱动器的位掩码。以下是您的操作方法:

 DWORD drives = GetLogicalDrives();
for (int i=0; i<26; i++)
{
if( !( drives & ( 1 << i ) ) )
{
TCHAR driveName[] = { TEXT('A') + i, TEXT(':'), TEXT('\\'), TEXT('\0') };
SendMessage(hWndDropMenu, CB_ADDSTRING, 0, (LPARAM)driveName);
}
}

代码检查位掩码中的i-th位是否设置为1

关于c++ - GetLogicalDrives() for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10963200/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com