Seite 1 von 1
Festplatten-ID mit GetVolumeInformation
Verfasst: Di, 12. Jun 2007 14:29
von Rolf
Hallo
Hab in der API schon GetVolumeInformation() gefunden.
Frag mich nur wie ich der Aufruf sein soll um die FestplattenID zurück zu bekommen?
Code: Alles auswählen
LOCAL cRoot := "C:\" //-- LPCTSTR lpRootPathName,
LOCAL cName := SPACE(200) //-- LPTSTR lpVolumeNameBuffer,
LOCAL iSize := 0 //-- DWORD nVolumeNameSize,
LOCAL cID := SPACE(200) //-- LPDWORD lpVolumeSerialNumber,
LOCAL cMax := SPACE(200) //-- LPDWORD lpMaximumComponentLength,
LOCAL cFlag := SPACE(200) //-- LPDWORD lpFileSystemFlags,
LOCAL cBuffer := SPACE(200) //-- LPTSTR lpFileSystemNameBuffer,
LOCAL iFAT := 0 //-- DWORD nFileSystemNameSize
iReturn := DllCall("KERNEL32.DLL", DLL_STDCALL,"GetVolumeInformationA",;
"C:\", @cName, @iSize, @cID, @cMax, @cFlag, @cBuffer, @iFAT)
Grüße Rolf
Re: Festplatten-ID mit GetVolumeInformation
Verfasst: Di, 12. Jun 2007 14:34
von brandelh
Rolf hat geschrieben:Hallo
Hab in der API schon GetVolumeInformation() gefunden.
Frag mich nur wie ich der Aufruf sein soll um die FestplattenID zurück zu bekommen?
Code: Alles auswählen
LOCAL iSize := 0 //-- DWORD nVolumeNameSize,
LOCAL cID := SPACE(200) //-- LPDWORD lpVolumeSerialNumber,
LOCAL cMax := SPACE(200) //-- LPDWORD lpMaximumComponentLength,
LOCAL cFlag := SPACE(200) //-- LPDWORD lpFileSystemFlags,
diese 3 Parameter müssten nach der Beschreibung auch auf 0 gesetzt werden DWORD, nicht STR.
Re: Festplatten-ID mit GetVolumeInformation
Verfasst: Di, 12. Jun 2007 14:51
von AUGE_OHR
hi,
Rolf hat geschrieben:
Hab in der API schon GetVolumeInformation() gefunden.
Frag mich nur wie ich der Aufruf sein soll um die FestplattenID zurück zu bekommen?
sie dir doch mal :
Code: Alles auswählen
C:\ALASKA\XPPW32\SOURCE\samples\basics\ExtDll\DLLCALL.prg
an.
gruss by OHR
Jimmy
Verfasst: Di, 12. Jun 2007 15:01
von Rolf
Vielen Dank
euch Beiden
Die Beispiele von Alaska sind immer wieder hilfreich und verbergen Überraschungen
Grüße Rolf
Re: Festplatten-ID mit GetVolumeInformation
Verfasst: Fr, 16. Mai 2014 19:50
von Manfred
Ist das die ID, die Windows beim Formatieren vergibt? Wie könnte ich denn an die Seriennummer der Harddisk kommen? Die steht nicht immer in der Registry, wie ich gerade feststellen mußte.
Re: Festplatten-ID mit GetVolumeInformation
Verfasst: Fr, 16. Mai 2014 20:44
von AUGE_OHR
Manfred hat geschrieben:Ist das die ID, die Windows beim Formatieren vergibt?
JA
Manfred hat geschrieben:Wie könnte ich denn an die Seriennummer der Harddisk kommen?
Die steht nicht immer in der Registry, wie ich gerade feststellen mußte.
hm ... die SN einer HDD ...
im Prinzip müsste man es mit WMI finden ...
es ist nicht unter Win32_LogicalDisk, bei Win32_DiskDrive finde ich eine PNP Eintrag ...
PNPDeviceID : IDE\DISKxxx
und unter Win32_OperatingSystem finde ich nur die Windows OS() Seriennummer.
Re: Festplatten-ID mit GetVolumeInformation
Verfasst: Fr, 16. Mai 2014 20:47
von Manfred
Es ist doch so, dass Windows bei Veränderung mehrerer Komponenten wieder aktiviert werden muß. Darunter fällt m.W. auch die HD. Kann aber auch nicht wirklich sein, weil auf meinem NB die HD nicht in der Registry steht. Auf meinem PC allerdings ja.
Re: Festplatten-ID mit GetVolumeInformation
Verfasst: Fr, 16. Mai 2014 21:08
von AUGE_OHR
Manfred hat geschrieben:Es ist doch so, dass Windows bei Veränderung mehrerer Komponenten wieder aktiviert werden muß.
Ja ... aber wohl nicht HD
Manfred hat geschrieben:Darunter fällt m.W. auch die HD.
Kann aber auch nicht wirklich sein, weil auf meinem NB die HD nicht in der Registry steht. Auf meinem PC allerdings ja.
auch beim Wechsel (migrieren) von HDD nach SSD ist keine Aktivierung notwendig.
die Windows OS() Seriennummer ist doch nicht schlecht ... es sein denn deine Kunden haben DELL, HP oder sonstige (Volumen) Lizenzen ...
wie wäre es mit der ProcessorID ? die CPU wird ja nicht so oft gewechselt
Re: Festplatten-ID mit GetVolumeInformation
Verfasst: Sa, 17. Mai 2014 10:02
von Koverhage
Manfred,
mit xbtools
VolSerial("C:")
Re: Festplatten-ID mit GetVolumeInformation
Verfasst: Sa, 17. Mai 2014 11:01
von Manfred
Hi Klaus,
das kannte ich schon. Ich wollte nur wissen, wie/ob man die wirkliche Hardware ID auslesen kann. Aber vielleicht komme ich ja mit der 2. Routine von Jimmy weiter.