• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細頁面

        讀取全部的驅(qū)動器的信息

        讀取全部的驅(qū)動器的信息

        更新時間:2022-05-13 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

        作者:安靜

        VC6.0 W2K編譯通過

        這類小程序,能用的地方很多.所以就寫一個完整的代碼
        給大家參考參考

        #include "stdafx.h"
        #include  <iostream.h>
        const DWORD MAXLEN = 100;

        void ShowDriveInfo(LPTSTR drive)
        {
        //輸出設(shè)備類型
        UINT result;
        result = GetDriveType(drive);

        if (result == DRIVE_REMOVABLE)
        cout << "可移動設(shè)備" ;
        else if (result == DRIVE_FIXED)
        cout << "硬盤";
        else if (result == DRIVE_REMOTE)
        cout << "網(wǎng)絡(luò)驅(qū)動器" ;
        else if (result == DRIVE_CDROM )
        cout << " 光驅(qū)";
        else if (result == DRIVE_RAMDISK)
        cout << "Ram Disk";
        else if (result == DRIVE_UNKNOWN)
        cout << "未知的設(shè)備";
        else
        return;
        cout << '\t';

        //給出空間信息

        unsigned __int64 i64FreeBytesToCaller;
        unsigned __int64 i64TotalBytes;
        unsigned __int64 i64FreeBytes;

        DWORD dwSectPerClust;
        DWORD dwBytesPerSect;
        DWORD dwFreeClusters;
        DWORD dwTotalClusters;

        DWORD tempTotal;
        DWORD tempFree;

        BOOL fResult;
        typedef DWORD (WINAPI * GETDISKFREESPACEEX)(LPCTSTR ,
        PULARGE_INTEGER ,
        PULARGE_INTEGER ,
        PULARGE_INTEGER );

        GETDISKFREESPACEEX pGetDiskFreeSpaceEx;

        pGetDiskFreeSpaceEx = (GETDISKFREESPACEEX)GetProcAddress( GetModuleHandle("kernel32.dll"),
        "GetDiskFreeSpaceExA");

        if (pGetDiskFreeSpaceEx) //如果是Windows NT and Windows 2000使用 GetDiskFreeSpaceEx
        {
        fResult = pGetDiskFreeSpaceEx ( (LPCTSTR)drive,
        (PULARGE_INTEGER)&i64FreeBytesToCaller,
        (PULARGE_INTEGER)&i64TotalBytes,
        (PULARGE_INTEGER)&i64FreeBytes);

        tempTotal = i64TotalBytes/1024 ;
        tempFree = i64FreeBytes/1024;

        }

        else //如果是Windows 95 OSR2 and Windows 98 使用 GetDiskFreeSpace
        {
        fResult = GetDiskFreeSpace (drive,
        &dwSectPerClust,
        &dwBytesPerSect,
        &dwFreeClusters,
        &dwTotalClusters);

        tempTotal = dwTotalClusters*dwBytesPerSect*dwSectPerClust/1024;
        tempFree = dwFreeClusters*dwSectPerClust*dwBytesPerSect/1024;



        }
        if(fResult)
        {
        cout<<"全部磁盤容量是 "<<((float)(tempTotal)/1024/1024)<<"GB\t";
        cout<<"空余磁盤容量是 "<<((float)(tempFree)/1024/1024)<<"GB\t";
        }
        cout<<endl;

        //像光驅(qū),軟盤,不放盤的時候,GetDiskFreeSpace(Ex)會出錯.

        }
        void GetAllDrive()
        {

        int len = -1;
        char drive[4] ="AAA" ;
        LPTSTR lpDriveString = new char[MAXLEN];
        DWORD dwBufferLen = MAXLEN ;
        len = GetLogicalDriveStrings(dwBufferLen,lpDriveString); //取得全部的盤符
        if (len < 0)
        cout << "操作失敗" <<endl;
        if (len > MAXLEN)
        cout << "Buffer不足" <<endl;
        if (len > 0)
        {
        for (int i = 0;i < len;i = i+4) //得到的盤符有4個字符組成 A:\(null)
        {
        drive[0] = lpDriveString[i]; //A
        drive[1] = lpDriveString[i+1];//:
        drive[2] = lpDriveString[i+2];// 第三個\
        //drive[3] = '\0'; // 第四個為null字符
        cout<<drive<<'\t';

        ShowDriveInfo(drive);
        }
        }
        /////////////////////////////////////////////
        //另外一種方法.
        ///////////////////////////////////////////////
        /*
        char D = 'A';
        char Drive[4]="X:\\";
        for(int i = 0; i < 26;i++)
        {
        Drive[0] = (char)(D+i);
        cout<<Drive<<'\t';
        ShowDriveInfo(Drive);
        }
        */

        }

        void main()
        {
        GetAllDrive();
        }

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 亚洲宅男精品一区在线观看| 国产亚洲色婷婷久久99精品| 亚洲成a人片在线观看天堂无码| 免费看黄视频网站| 亚洲一级片在线观看| 51在线视频免费观看视频| 精品亚洲国产成AV人片传媒| 在线免费中文字幕| 亚洲成人黄色网址| 女人与禽交视频免费看| 亚洲成a人无码亚洲成www牛牛| 午夜影视在线免费观看| 亚洲欧洲国产综合AV无码久久| 国产大片免费观看中文字幕| 男男黄GAY片免费网站WWW| 免费人成视频x8x8入口| 国产精品免费看久久久香蕉| 亚洲国产精品特色大片观看完整版| baoyu777永久免费视频| 久久久无码精品亚洲日韩蜜臀浪潮 | 久9久9精品免费观看| 亚洲成av人片不卡无码| 好爽…又高潮了免费毛片| 精品一区二区三区无码免费直播 | 老汉色老汉首页a亚洲| 69av免费视频| 亚洲国产av玩弄放荡人妇| JLZZJLZZ亚洲乱熟无码| 免费无码毛片一区二区APP| 久久综合久久综合亚洲| 国产精品亚洲产品一区二区三区| 国产精品免费高清在线观看| 亚洲熟妇无码久久精品| 四虎影视精品永久免费网站| 在线成人精品国产区免费| 中文字幕精品三区无码亚洲| 亚洲日韩中文字幕日韩在线| 久久精品国产这里是免费| 亚洲暴爽av人人爽日日碰| 久久精品国产亚洲AV果冻传媒| 成人毛片18女人毛片免费96|