1 #include<iostream>
2 #include<windows.h>
3 using namespace std;
4
5 int main(){
6
7 int num=0;//定义移动量;
8 DWORD driver;//定义驱动器列表变量;
9 DWORD num2=0;//定义右移后储存变量;
10 char a=A; //定义初始驱动器;
11 int i=0;//定义增长变量;
12 char drivelist[40];//定义驱动器列表;
13 driver=GetLogicalDrives();
14 if(driver){
15 while(num<=32){
16 num2=driver;
17 num2=num2>>num;//变量是从低二进制位开端填充的;
18 if((!(num2&1))&&(num>=2)){
19 cout<<\n驱动器列表完成!\n\n;
20 break;
21 }
22 else
23 if(num2&1){
24 drivelist[i]=a+i;
25 }
26 i++;
27 num++;
28
29 }
30
31 }
32 else{
33 cout<<驱动器列表获取失败!;
34 }
35 int listnum=0;
36 listnum=sizeof(drivelist)/sizeof(char);
37 for(int a=0;a<listnum;a++){
38 if((drivelist[a]>=A)&&(drivelist[a]<=Z)){
39 cout<<存在驱动器: [<<drivelist[a]<<]\n;
40 }
41 }
42 cout<<\n\n;
43 system(pause);
44 return 0;
45
46 } 实验截图: