Twitter und Facebook-Anbindung
X
Tweet Follow @twitterapi
!!! Anbindung an twitter und facebook öffnen !!!

Wenn Ihnen mein Online-Buch gefällt,
dann bedanken Sie sich doch mit einer kleinen Spende...

13.4.6 Auflisten aller vorhandener Laufwerke

13.4.6 Auflisten aller vorhandener Laufwerke

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
					
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

// ...

char* pstrDrive		= new char[4];
pstrDrive[1]		= ':';
pstrDrive[2]		= '\\';
pstrDrive[3]		= '\0';		// Terminierungszeichen

// Durchlaufe alle möglichen Laufwerke
for (char cDrive = 'A'; cDrive <= 'Z'; cDrive++) {
	pstrDrive[0]	= cDrive;

	// Je nachdem, um welches Laufwerk es sich handelt
	switch (GetDriveTypeA(pstrDrive)) {
		case DRIVE_REMOVABLE:
			printf("%c: - Auswerfbares Laufwerk\n", cDrive);
			break;
		case DRIVE_FIXED:
			printf("%c: - Festplatte\n", cDrive);
			break;
		case DRIVE_REMOTE:
			printf("%c: - Netzlaufwerk\n", cDrive);
			break;
		case DRIVE_CDROM:
			printf("%c: - Optisches Laufwerk\n", cDrive);
			break;
	} // end of switch
} // end of for

delete [] pstrDrive;
					

Da die Funktion "GetDriveTypeA" Angaben der Art "C:\" benötigt, muss ich mir zunächst in den Zeilen 8 bis 10 und 14, diese Pfadangabe zusammen bauen. Der Rest ist ganz einfach. Man klappert alle möglichen Laufwerksbuchstaben von A bis Z ab und schaut, welche Informationen man bekommt. Hierbei sei aber noch erwähnt, dass hier alle Laufwerke aufgelistet werden, egal ob z.B. in einem CD-ROM Laufwerk eine CD liegt oder nicht. Des Weiteren gilt z beachten, dass die Laufwerkstypen etwas schwammig sind. "DRIVE_CDROM" heißt auch DVD oder BluRay und "DRIVE_REMOVABLE" kann für einen USB-Stick (wird allerdings nur erkannt, wenn er am Rechner angeschlossen ist) oder ein Kartenleser stehen.

Die Windows API stellt noch weitere nützliche Funktionen bereit (Freier Speicherplatz oder Pfadangaben zum Windowsverzeichnis oder dem Benutzerverzeichnis), auf welche ich jetzt nicht im Detail eingehen möchte. Schauen Sie also ins MSDN und erkunden Sie die anderen Möglichkeiten.

Zum Seitenanfang
Zum Inhaltsverzeichnis

© Copyright by Thomas Weiß, 2009 - 2012