今回は、ハードディスク情報を取得してみます。
ハードディスク情報を取得する
WMIを使用してローカルの物理ドライブ情報を取得する
今回はWin32_LogicalDiskクラスを使用します。
ネットワークドライブは除外し、ローカルのハードディスクを取得したいと思います。
以前作成した関数に検索クエリーを渡し、情報を取得します。
SELECT Name,FreeSpace,Size FROM Win32_LogicalDisk WHERE DriveType=3
// 取得したいプロパティをクエリーで指定する
var query = "SELECT Name,Size,FreeSpace FROM Win32_LogicalDisk WHERE DriveType=3";
var props = getWMIProperties(query);
for( var i = 0 ; i < props.length ; ++i ){
var drive = props[i];
var drive_letter = drive.Name; // C:
var size = drive.Size ; // 1999767117824
var free_space = drive.FreeSpace; // 1834997825536
}
Win32_LogicalDiskクラス
Win32_LogicalDisk には他にも多くのプロパティが存在します。
説明 | プロパティ名 | 参考値 |
---|---|---|
名前 | Name | C: |
ディスクサイズ(バイト) | Size | 1999767117824 |
空き領域(バイト) | FreeSpace | 1834997825536 |
ボリューム名 | VolumeName | SYSTEM |
ドライブの種類 | DriveType | 3
|
ファイルシステム | FileSystem | NTFS |
詳しくはSELECTに「*」を指定しデバッガーで止めてプロパティを確認した方が確実です。
参考リンク
WMI Fun !! : Win32_LogicalDisk
http://www.wmifun.net/library/win32_logicaldisk.html
MSDN : Win32_LogicalDisk class (Windows)
https://msdn.microsoft.com/en-us/library/aa394173(v=vs.85).aspx