我想知道代码段的作用。

 Drive[0] = 'A';
 Drive[1] = ':';
 Drive[2] = '\\';
 Drive[3] = 0;

 DriveMask = GetLogicalDrives();

 for( anIndex = 0; anIndex < 26;
 anIndex++ )
{
    if( DriveMask & 1 )
     {
        Drive[0] = 'A' + anIndex;

        DriveMask >>= 1;

     }
 }

请让我知道你的答案。

感谢您抽出宝贵时间阅读我的帖子。

最佳答案

它枚举了A:\和Z:\之间所有可能的连接驱动器,并检查它们是否可移动(例如CD,软盘)。

它循环26次,每次

DriveMask >>= 1;

使位掩码右移1位,以便可以通过来测试每个逻辑驱动器
if( DriveMask & 1 )

陆续。

GetDriveType()需要一条驱动路径,因此通过将循环计数添加到字母A(因此A,B,C,D,...,Z)并保留先前初始化的:\部分来构造标签。

07-24 14:04