WEB开发网
开发学院软件开发C++ Qt中调用windows系统api在QComboBox中显示系统当前... 阅读

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

 2012-05-16 10:02:22 来源:WEB开发网   
核心提示: 因为GetLogicalDrives返回值转化成2进制从低到高位分别是A:、B:、....是1表示已被挂载,0表示未用,Qt中调用windows系统api在QComboBox中显示系统当前没有挂载的虚拟磁盘驱动器编号,所以把此值与0x0001作&位运算,,所以循环25次,再把得到的结果转化成QString,结果是0表

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

Tags:Qt 调用 windows

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接