驅動器屬性

2021-07-24 23:36:49 字數 2101 閱讀 5664

# include

# include

# include

/* 要獲取一些關於驅動器的屬性,可以呼叫這些函式:

1: uint getdrivetype(

lpctstr lprootpathname

);函式有乙個引數,比如"c:\\"(\是轉義字元,所以要兩個\,比如」\"「就是表示「)

函式返回值是無符號整型。

該函式獲得的是驅動器的型別:

#define drive_unknown 0 //未知的

#define drive_no_root_dir 1 //非根目錄,比如」c:\\windows"

#define drive_removable 2 //可移動的,比如軟盤

#define drive_fixed 3 //固定的驅動器即硬碟,比如"c:\\"

#define drive_remote 4 //遠端驅動器,比如通過網路共享的

#define drive_cdrom 5 //光碟

#define drive_ramdisk 6 //u盤

函式返回的值與這些巨集對應

2: bool getvolumeinformation(

lpctstr lprootpathname, //驅動器的根目錄

lptstr lpvolumenamebuffer, //字元陣列(驅動器的名稱)

dword nvolumenamesize, //陣列大小

lpdword lpvolumeserialnumber, //驅動器的序列號的位址,

//每個驅動器(卷)都有乙個序列號,一般叫做"硬碟號"

//每個驅動器都有唯一的序列號,經常會用到序列號加密

lpdword lpmaximumcomponentlength, //檔名的最大長度

lpdword lpfilesystemflags, //該變數與一些屬性做位

//運算,就可以判斷是否具有該屬性

lptstr lpfilesystemnamebuffer,

//驅動器的檔案系統名稱,比如"ntfs「

dword nfilesystemnamesize //陣列大小

);*/int main()

tchar szdrivename[max_path];

dword dwvolumeserialnumber;

dword dwmaximumcompoentlength;

dword dwfilesystemflags;

tchar szfilesystemnamebuffer[max_path];

if (!getvolumeinformation(//該函式呼叫可能會失敗

text("c:\\"),//驅動器的根目錄

szdrivename,

max_path,

&dwvolumeserialnumber,

&dwmaximumcompoentlength,

&dwfilesystemflags,

szfilesystemnamebuffer,

max_path

))if (dwfilesystemflags&file_volume_quotas)//磁碟配額

if (dwfilesystemflags*file_supports_encryption)//是否允許加密

//還有很多屬性,就不一 一枚舉了

檢測邏輯驅動器

主要用到的api有getlogicaldrives getlogicaldirvestrings,getdrivetype,getdiskfreespace.分別介紹如下 1.dword getlogicaldrives void 此函式沒有引數,它的返回值是乙個掩碼,用來描述當前可用的邏輯驅動器。...

磁碟驅動器

磁碟驅動器 disk driver 又稱 磁碟機 是以磁碟作為記錄資訊 的 儲存裝置。磁碟驅動器讀取磁碟中的資料,傳遞給處理器。磁碟驅動器包括軟盤驅動器,硬碟驅動器,光碟驅動器等。磁碟驅動器由 磁頭 磁碟 讀寫 電路及機械伺服裝置等組成。ibm公司於1956年在其model 305 ramac中第一...

列出本機所有固定驅動器和可移動驅動器

getdrivetype 路徑 判斷乙個磁碟驅動器的型別 返回乙個整數 0 驅動器型別不確定 1 系統目錄不存在 2 drive removable 是可移動驅動器 3 drive fixed 是固定驅動器 4 drive remote 是網路驅動器 5 drive cdrom 是cd rom驅動器...