システム上の論理ドライブ(C#)の一覧とその容量と空き容量を取得するにはどうすればよいですか?論理ドライブのリストを取得する
答えて
あなたがポーリングすることができ、ここで属性についてのWMI(Windows Management Instrumentation)
using System.Management;
ManagementObjectSearcher mosDisks = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
// Loop through each object (disk) retrieved by WMI
foreach (ManagementObject moDisk in mosDisks.Get())
{
// Add the HDD to the list (use the Model field as the item's caption)
Console.WriteLine(moDisk["Model"].ToString());
}
Theresの詳細は、この情報を取得することができ
http://www.geekpedia.com/tutorial233_Getting-Disk-Drive-Information-using-WMI-and-Csharp.html
これは私のコンピュータでは動作しません。 System.Managementには、今すぐManagementObjectSearcherクラスがありません。 URLは有効なWebページも指していません。 –
そのために参照を追加する必要があります。 Visual Studioで、プロジェクトを右クリックし、[追加] - > [参照]を選択します。次に、 "System.Management"を検索して追加します。 – Gippeumi
foreach (var drive in DriveInfo.GetDrives())
{
double freeSpace = drive.TotalFreeSpace;
double totalSpace = drive.TotalSize;
double percentFree = (freeSpace/totalSpace) * 100;
float num = (float)percentFree;
Console.WriteLine("Drive:{0} With {1} % free", drive.Name, num);
Console.WriteLine("Space Remaining:{0}", drive.AvailableFreeSpace);
Console.WriteLine("Percent Free Space:{0}", percentFree);
Console.WriteLine("Space used:{0}", drive.TotalSize);
Console.WriteLine("Type: {0}", drive.DriveType);
}
多分これはあなたが望むものである:
listBox1.Items.Clear();
foreach (DriveInfo f in DriveInfo.GetDrives())
listBox1.Items.Add(f);
また、IsReadyプロパティをチェックすることもできます –
これは、コードの素晴らしい作品です。
ObjectQuery query =
new ObjectQuery("SELECT * FROM Win32_LogicalDisk WHERE DriveType=3"); // Create query to select all the hdd's
ManagementObjectSearcher searcher =
new ManagementObjectSearcher(scope, query); // run the query
ManagementObjectCollection queryCollection = searcher.Get(); // get the results
string sVolumeLabel = "";
string[,] saReturn = new string[queryCollection.Count, 7];
int i = 0; // counter for foreach
foreach (ManagementObject m in queryCollection)
{
if (string.IsNullOrEmpty(Convert.ToString(m["VolumeName"]))) { sVolumeLabel = "Local Disk"; } else { sVolumeLabel = Convert.ToString(m["VolumeName"]); } // Disk Label
string sSystemName = Convert.ToString(m["SystemName"]); // Name of computer
string sDriveLetter = Convert.ToString(m["Name"]); // Drive Letter
decimal dSize = Math.Round((Convert.ToDecimal(m["Size"])/1073741824), 2); //HDD Size in Gb
decimal dFree = Math.Round((Convert.ToDecimal(m["FreeSpace"])/1073741824), 2); // Free Space in Gb
decimal dUsed = dSize - dFree; // Used HDD Space in Gb
int iPercent = Convert.ToInt32((dFree/dSize) * 100); // Percentage of free space
saReturn[i,0] = sSystemName;
saReturn[i,1] = sDriveLetter;
saReturn[i,2] = sVolumeLabel;
saReturn[i,3] = Convert.ToString(dSize);
saReturn[i,4] = Convert.ToString(dUsed);
saReturn[i,5] = Convert.ToString(dFree);
saReturn[i,6] = Convert.ToString(iPercent);
i++; // increase counter. This will add the above details for the next drive.
}
- 1. リスト理論のサポート
- 2. 無効なドライブ文字のリストを取得する
- 3. すべての物理ドライブのリスト
- 4. iPhone - 論理ユニットテスト用のリソースを取得する
- 5. SQL Server 2005でトランザクションログの論理名を取得する方法
- 6. z3(論理QF_BV)で「不良」コアを取得する
- 7. SOAP論理ハンドラからペイロードオブジェクトを取得する方法
- 8. 物理ディスクと論理ディスクのリストはどのように取得できますか?
- 9. GoogleドライブApi - フォルダパスを取得
- 10. sequenceタプルでの論理和のリスト
- 11. Win CLI:Tomcatドライブを取得する
- 12. Javaでドライブ名を取得する
- 13. ドライブAPIでGoogle docリビジョンの詳細なリストを取得するには
- 14. ハンドルバーテンプレート内の論理論理
- 15. Android:復元用のドライブIDを取得
- 16. C++でWMIを使用してハードディスクのすべての論理ドライブの空き領域を取得するにはどうすればよいですか?
- 17. C#を使用してサーバーとマップされたドライブのACLリストを取得
- 18. Subversionで処理できないファイルのリストを取得する
- 19. Objective-Cの論理を理解する
- 20. 取得現在のドライブ文字
- 21. Windowsシステムディレクトリを含むドライブの文字を取得する
- 22. ||の論理エラーオペレーター?
- 23. GoogleドライブV3と.netのファイル拡張子を取得する
- 24. ERROR_ACCESS_DENIEDを取得せずに物理ドライブに書き込む方法(Windows 7)
- 25. Haskell - リストのリストからn個のリストを取得する
- 26. ボリュームIDでドライブ情報を取得する方法
- 27. C#でネットワークマップされたドライブVolumeLabelを取得するには?
- 28. 跳ねるボールの論理
- 29. Linq - オブジェクトのグループを取得してリストを取得する
- 30. どの論理演算子が優先順位を取るか
最新の.NETバージョンで追加された新しい機能ですか。私はこの数年前に表示する小さなアプリを書いていましたが、その時点でWMIルートに行かなければなりませんでした。とにかく知っておくと便利です...歓声 –
パーフェクト...ありがとうございました – PaulB
MSDNのクイックルック:.NET 2.0で追加されました。 – Richard