Festplatten Speicher bestimmen

Christian Kusmanow

Erfahrenes Mitglied
Hallo FIAE's!

Nirgendwo was gefungen wie ich?
Diese Snippet's sollten euch helfen!

Na dann hier...
Code:
public ManagementObject RootDrive;

// Festplatte holen
if ( this.WorkingDir.RootDrive == null ){
	this.RootDrive = new ManagementObject(
		string.Format( "win32_logicaldisk.deviceid=\"{0}\"",
			this.RootDriveLetter ));
}

// Aktueller Plattenbuchstabe
public string RootDriveLetter{
	get{
		return Directory.GetDirectoryRoot( Application.StartupPath ).Substring(0,2).ToLower();
	}	
}
// Freien Festplattenspeicher bestimmen
public long FreeWorkingDriveSpace{
				
	get{ 
		try{
			this.RootDrive.Get();
				return Convert.ToInt64(this.RootDrive["FreeSpace"]); // Größe mit: RootDrive["Size"]
		}
		catch ( Exception ){
			return 0;
		}
	}
}

// Ausgabe formatieren
private string GetFileLengthFormat( long Length ){

	float fLength = ((float)Length / 1024);

	if ( fLength < 1024.0 )
		return string.Format( "{0} Kb", fLength.ToString( "#0,000" ));
	else if ( fLength >= 1024.0 && fLength < 1048576.0 )
		return string.Format( "{0} MB", fLength.ToString( "#0,000" ));
	else 
		fLength = fLength / 1024;

	return string.Format( "{0} GB", fLength.ToString( "#0,000" ));
}

// Ausgabe
MessageBox.Show ( GetFileLengthFormat( FreeWorkingDriveSpace ));

Ich hoffe das hilft jemand.
Bin für jede Kritik und Vorschläge dankbar!

Grüße cosmo
 
Zuletzt bearbeitet:
Eigentlich sollte das über System.Environment gehen.

Besser kannst Du das mit WMI abfragen. Nen Beispielproggi findest Du hier mit Erklärung:

SDH

Chris
 
Eigentlich sollte das über System.Environment gehen.
Besser kannst Du das mit WMI abfragen...
  • ManagementObject == WMI
    Mein Quellcode ist allein für das bestimmen des akuellen Partitionsinhaltes gedacht.

Das Beispielprogramm ist wirklich gut. Jetzt hab ich ne Liste mit allen verfügbaren WMI-Verzeichnissen. Genial.

Gruss cosmo
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück