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.
Win32_OperatingSystem.zip
(1.63 KiB) 325-mal heruntergeladen

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 ;)
Win32_Processor.zip
(1.41 KiB) 348-mal heruntergeladen

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.