返回顶部

收藏

Qt中调用windows系统api在QComboBox中显示系统当前没有挂载的虚拟磁盘驱动器编号

更多

因为GetLogicalDrives返回值转化成2进制从低到高位分别是A:、B:、....是1表示已被挂载,0表示未用,所以把此值与0x0001作&位运算。 。结果是0表示A:未用,1表示已用。接下来把0x0001每次左移一位,再相&,因为字母表一共26位,A已判断,所以循环25次。再把得到的结果转化成QStri ng。显示到combobox中。

//设置combobox中显示未用的驱动盘号
   DWORD drives=GetLogicalDrives();
    int count ;
    unsigned int a=0x0001;
    if((drives&a)==0){
        ui->comboBox->addItem("A:","");
    }
    for(count=0;count<25;count++){

        if((drives&(a<<=1))==0){
             QString num=QString(char(66+count));
             num.operator +=(":");
             const QString num1=num;
            ui->comboBox->addItem(num1,"");
        }
    }
//该片段来自于http://outofmemory.cn

标签:c++,图形

收藏

0人收藏

支持

0

反对

0

发表评论