Immer noch ungelöste Problem ...

Gast #28203
wie kann ich den Harddriver Serial number rausfinden
Folgende Assembler Syntax liefert die CPU Name


char cpuVendor[256];

_asm {
        mov eax,0
            cpuid
            mov DWORD PTR cpuVendor +0,ebx
            mov DWORD PTR cpuVendor +4,edx
            mov DWORD PTR cpuVendor +8,ecx
        mov Byte PTR cpuVendor +12,0
    }
es muss doch so was vergleichbares für "HD Serial number" bzw. "HD 
Model" geben ...

Kann mir jemand weiter helfen?

Habe bei Google gesucht - und habe nichts passendes gefunden bzw. nur 
umfangreiche Projekte mit ganzem Hardware ID's

Prog40
Gast #28205
"VOL" Befehl leifert keinen Datenträger Number sondern ID die immer neu 
nach dem Format vergeben wird.

Danke aber das bringt mich nicht weiter.

ich brauche Hersteller ID-Number, mit Assembler muss es doch möglich 
sein die andere Prog.(z.b. Motherboard Tools, und tausend andere) machen 
das doch.

Prog40
Gast #28207
Dafür gibt es unter Win zb. API Aufrufe. Es ist also kein Assembler 
notwendig.
Suche mal nach GetVolumeInformation() das sollte die notwendigen 
Informationen liefern
Gast #28208
Habe doch oben geschrieben "VOL" DOS Befehl bringt hier nichts!!!!!!

Also noch mal die WIN API Funktion "GetVolumeInformation()"
leifert das gleiche wie das "VOL" DOS Befehl (Formatierungs Datum + 
Uhrzeit)
Gast #28209
Lies doch erst mal die Beschreibung zu GetVolumeInformation
genauer durch die Serial No kommt sehr wohl zurück

ein kleines Beispiel in Pascal

lpVolumeNameBuffer:= NIL;
lpFileSystemNameBuffer:=NIL;
nVolumeNameSize:=0;
nFileSystemNameSize:=0;
lpMaximumComponentLength:=0;
lpFileSystemFlags:=0;
lpRootPathName:='c:\';
if GetVolumeInformation(lpRootPathName,
                       lpVolumeNameBuffer,
                       nVolumeNameSize,
                       @VolumeSerialNumber,
                       lpMaximumComponentLength,
                       lpFileSystemFlags,
                       lpFileSystemNameBuffer,
                       nFileSystemNameSize) then
Begin
// hier steht in VolumeSerial Number der gewünschte wert
End;

Ich mach das schon seit Jahren so und bekomme damit zumindest hier immer 
die Serial No. Google sagt das übrigens auch

Thomas
Gast #28210
Ok.
dann probiere mal den SerialNumber von A (Diskette 1,44 )zu ermitelln, 
danach farmatiere die, und jetzt kommt:
die Diskette hat nach dem Format endere SerialNumber.
Wenn du mir nicht glaubst versuche es mit der HD ... dann weisst du das 
die WinAPI keine Hersteller ID-Number zurück gibt.
Also noch mal das geht nur mit Assembler.

Prog40
Gast #28211
Ich weiß ja nicht, wie das bei Festplatten ist, aber bei Disketten gibt 
es nunmal überhaubt keine Hersteller - Seriennummer. Deshalb kann die 
Seriennummer beim Formatieren immer neu vergeben werden, steht dann halt 
in Sektor 0 oder so.
Bei Festplatten dürfte das anders sein.
Möglicherweise ist es aber nicht möglich, ohne Spezialkenntnisse des 
Herstellers diese Numer auszulesen.


Johannes

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.