日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

获取磁盘符信息

發(fā)布時間:2023/11/27 生活经验 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 获取磁盘符信息 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

項目中有個子模塊是ftp客戶端,需要羅列本地各個磁盤符,比如C盤、D盤、E盤、F盤。然后進行一些相關(guān)的上傳下載就比較方便,具體樣子如下所示:

需要利用一個Combox控件實現(xiàn)。
廢話不多說,先上代碼:

void  CFTPCilentDlg::Getlocaldrv()
{//獲取所有盤符m_comlocal.ResetContent();   //清除目前所有項TCHAR szBuf[100];memset(szBuf,0,100);DWORD len=GetLogicalDriveStrings(sizeof(szBuf)/sizeof(TCHAR),szBuf);for (TCHAR * s= szBuf;*s;s+=_tcslen(s)+1){//MessageBox(sDrivePath);CString k = s;m_comlocal.AddString(k);}m_comlocal.SetCurSel(0);    //設(shè)置0項為顯示的內(nèi)容
}

代碼中的m_comlocal是Combox控件關(guān)聯(lián)的控件變量,ResetContent()和AddString()是對該控件的操作。所以其中核心的函數(shù)是GetLogicalDriveStrings()函數(shù)。那我就對這個函數(shù)簡單介紹一下:
定義:

DWORD GetLogicalDriveStrings(DWORD nBufferLength,LPTSTR lpBuffer);

獲取一個字串,其中包含了當(dāng)前所有邏輯驅(qū)動器的根驅(qū)動器路徑
返回值
返回保存所有數(shù)據(jù)所需要的字節(jié)數(shù)。應(yīng)該總是比較返回值與參數(shù)cchBuffer的大小。
參數(shù)表
參數(shù) 類型及說明
DODOWRD cchBuffer,緩沖區(qū)的大小
LPTSTR lpszBuffer,用于裝載邏輯驅(qū)動器名稱的字串。每個名字都用一個NULL字符分隔,在最后一個名字后面用兩個NULL表示中止(空中止) 例如A:\C:\
用法其實很簡單。我的項目中做到這里其實就已經(jīng)可以了。關(guān)于擴展的一些功能我引用別人的博客:http://www.cnblogs.com/qq78292959/archive/2012/06/12/2546914.html

1.獲取系統(tǒng)中邏輯驅(qū)動器的數(shù)量

The GetLogicalDrives function retrieves a bitmask representing the currently available disk drives.

DWORD GetLogicalDrives(void);

2.獲取所有驅(qū)動器字符串信息

The GetLogicalDriveStrings function fills a buffer with strings that specify valid drives in the system.

DWORD GetLogicalDriveStrings(

DWORD nBufferLength,

LPTSTR lpBuffer

);

3.獲取驅(qū)動器類型

The GetDriveType function determines whether a disk drive is a removable, fixed, CD-ROM, RAM disk, or network drive.

UINT GetDriveType(

LPCTSTR lpRootPathName

);

  1. 獲取驅(qū)動器磁盤的空間狀態(tài),函數(shù)返回的是個BOOL類型數(shù)據(jù)

The GetDiskFreeSpaceEx function retrieves information about the amount of space available on a disk volume: the total amount of space, the total amount of free space, and the total amount of free space available to the user associated with the calling thread.

BOOL GetDiskFreeSpaceEx(

LPCTSTR lpDirectoryName,

PULARGE_INTEGER lpFreeBytesAvailable,

PULARGE_INTEGER lpTotalNumberOfBytes,

PULARGE_INTEGER lpTotalNumberOfFreeBytes

);
利用上面的四五個函數(shù)基本可以實現(xiàn)對磁盤符的操作。因為我的項目中只是需要羅列磁盤符,然后根據(jù)Combox控件中選擇的磁盤,羅列該磁盤目錄下的文件目錄:

關(guān)于如何羅列每個磁盤符下面的文件目錄路,我在后面的博客會寫到。
OK,到此!
 
             拙見,小記!

總結(jié)

以上是生活随笔為你收集整理的获取磁盘符信息的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。