festplatten id mittels GetVolumeInformation
-
Hallo alle zusammen,
liege ich da richtig, das die Volume ID die man mit "dir" in der eingabeauforderung sehen kann die ist die ich auch mit
GetVolumeInformation(); bekomme?
Wenn ja stimmt da was nicht...wenn ich dwVolumeSerial ausgebe kommt bei mir:
480625555 aber meine VolumeID laut "dir" ist:
1CA5-C393Hier der Code:
char WinDirBuffer[255]; string RootPathName = "c:\\"; // address of root directory of the file system DWORD dwVolumeSerial=0; // address of volume serial number DWORD dwMaximumComponentLength; // address of system's maximum filename length DWORD dwFileSystemFlags; // address of file system flags GetVolumeInformation(RootPathName.c_str(), NULL, NULL, &dwVolumeSerial, &dwMaximumComponentLength, &dwFileSystemFlags, NULL,NULL);P.s. wie kann man eigentlich herausbekommen welche partition die Windoof partition ist?
vielen danke schonmal im Vorraus

EDIT: warum sind da jetzt bitte sternchen???? Vor.raus
-
Black Hell schrieb:
liege ich da richtig, das die Volume ID die man mit "dir" in der eingabeauforderung sehen kann die ist die ich auch mit
GetVolumeInformation(); bekomme?Ja.
Black Hell schrieb:
Wenn ja stimmt da was nicht...wenn ich dwVolumeSerial ausgebe kommt bei mir:
480625555 aber meine VolumeID laut "dir" ist:
1CA5-C393Du solltest Sie vielleicht auch als Hex-Wert ausgeben

Black Hell schrieb:
P.s. wie kann man eigentlich herausbekommen welche partition die Windoof partition ist?
Umgebungsvariable "SystemDrive"
Black Hell schrieb:
vielen danke schonmal im v******

EDIT: warum sind da jetzt bitte sternchen???? Vor.rausWeil es vermutlich falsch schrieben ist!? Pisa lässt grüßen...
-
Cool danke, es funktioniert, hätte ich auch selber drauf kommen können.Danke
achja:die Pisa-Studie tangiert mich peripher, man selbst ist wer zählt!

Ich habe jetzt rumgeoogelt und so, aber was meinst du mit Umgebungsvariable "SystemDrive"?
Und noch eine Frage:
Ich mache die Ausgabe so:
cout << hex << dwVolumeSerial << endl;Gibt es eine Möglichkeit das in eine char Variable zu speichern, also den hex wert?So das ich damit als Text weiter arbeiten kann?
-
Hi
Glaub die std::string klasse kann das... dann Obj.c_str() zum umwandeln innen C-String
#include <iostream> #include <string> using namespace std; string strTemp; char szBuffer[100]; // dwVolumeSerial initialisieren... // ... strTemp << hex << dwVolumeSerial; strncpy(szBuffer, strTemp.c_str(), 100);!Code ist nicht getestet!
MfG CodeFinder
-
Black Hell schrieb:
Ich habe jetzt rumgeoogelt und so, aber was meinst du mit Umgebungsvariable "SystemDrive"?
printf("Sytem-Drive: %s", getenv("SystemDrive"));
-
Hallo nochmal.... jetzt verstehe ich was du mit Umgebungsvariable meinst, sorry bin noch relativ neu in c++...
wegen
strTemp << hex << dwVolumeSerial;:
Dev-Cpp sagt mir das der Operator nicht zulässig ist, bzw. das hier:
26 D:\Programme\Dev-Cpp\Projects\PWSniffer\main.cpp no match for 'operator<<' in 'strTemp << std::ios_base::hex'Also die Logik dahinter habe ich kapiert, leider funktioniert das so nicht.
EDIT: Es wäre möglich diesen Wert in eine Datei zu speichern und gleich wieder einzulesen, das könnte man locker schaffen, aber ist irgendwie blöd