VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

メニューへ戻ります。 ドライブ関係のメニュー
1.このコンピューター上で利用可能なドライ名を列挙する
2.ドライブの種類を取得する
3.ドライブの総容量(MB単位)・空き領域・使用領域を取得
4.指定のドライブの存在及びドライブの準備ができているかどうかを取得
5.ドライブのボリュームラベル・ファイルシステム・シリアルナンバー等を取得
6.
7.
8.
9.
10.
11.
12.
 .
20.その他、当サイト内に掲載のドライブに関するサンプル 


3.ドライブの総容量(MB単位)・空き領域・使用領域を取得(29_Drv_03) (旧、SampleNo.038)
1.DriveInfo.GetDrives メソッドを使っての取得方法
2.WMI の Win32_LogicalDisk クラスを使っての取得方法
3.
4.
5.
6.

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86
Option :[Compare Text] [Explicit On] [Infer On] [Strict On]
Imports :System.Management(WMI を使用する場合)
参照設定:System.Management(WMI を使用する場合)
  参照設定方法の参照
その他 :
    :
このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので)
必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい)
このページのトップへ移動します。 1.DriveInfo.GetDrives メソッドを使っての取得方法

Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
    TextBox1.Clear()
    Dim mByt As Integer = 1048576
    Dim s1 As String = "{0} : 空き領域 {1,11:#,0 MB}  使用領域 {2,11:#,0 MB}  合計容量 {3,11:#,0 MB}"

    For Each Drive As System.IO.DriveInfo In System.IO.DriveInfo.GetDrives()
        If Drive.IsReady Then
            TextBox1.Text &= String.Format(s1, Drive.Name, Drive.TotalFreeSpace \ mByt, _
                            (Drive.TotalSize - Drive.TotalFreeSpace) \ mByt, Drive.TotalSize \ mByt) & vbCrLf
        End If
    Next
End Sub

上記取得結果

C:\ : 空き領域 359,388 MB  使用領域  91,218 MB  合計容量 450,606 MB
D:\ : 空き領域  46,401 MB  使用領域  4,798 MB  合計容量  51,199 MB
F:\ : 空き領域  51,177 MB  使用領域  8,643 MB  合計容量  59,821 MB
G:\ : 空き領域 318,047 MB  使用領域  3,304 MB  合計容量 321,351 MB
H:\ : 空き領域  49,207 MB  使用領域  61,577 MB  合計容量 110,784 MB

このページのトップへ移動します。 2.WMI の Win32_LogicalDisk クラスを使っての取得方法

Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
    TextBox1.Clear()
    Dim mByt As Integer = 1048576
    Dim s1 As String = "{0} : 空き領域 {1,11:#,0 MB}  使用領域 {2,11:#,0 MB}  合計容量 {3,11:#,0 MB}"

    Dim mc As New ManagementClass("Win32_LogicalDisk")
    Dim moCollection As ManagementObjectCollection = mc.GetInstances()
    For Each mo As ManagementObject In moCollection
        TextBox1.Text &= String.Format(s1, mo("Name").ToString & "\", CLng(mo("FreeSpace")) \ mByt, _
                (CLng(mo("Size")) - CLng(mo("FreeSpace"))) \ mByt, CLng(mo("Size")) \ mByt) & vbCrLf
    Next
End Sub

上記取得結果

C:\ : 空き領域 359,388 MB  使用領域  91,218 MB  合計容量 450,606 MB
D:\ : 空き領域  46,401 MB  使用領域  4,798 MB  合計容量  51,199 MB
E:\ : 空き領域    0 MB  使用領域    0 MB  合計容量    0 MB
F:\ : 空き領域  51,177 MB  使用領域  8,643 MB  合計容量  59,821 MB
G:\ : 空き領域 318,047 MB  使用領域  3,304 MB  合計容量 321,351 MB
H:\ : 空き領域  49,207 MB  使用領域  61,577 MB  合計容量 110,784 MB

このページのトップへ移動します。 3.


このページのトップへ移動します。 4.


このページのトップへ移動します。 5.


このページのトップへ移動します。 6.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)
ドライブ Drive  GetDrives メソッド Directory.GetLogicalDrives メソッド FileSystemProxy.Drives プロパティ Environment.GetLogicalDrives メソッド
WMIの Win32_LogicalDisk クラス 論理ディスク情報を取得



このページのトップへ移動します。