USB-Stick Seriennummer

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Karl
Beiträge: 520
Registriert: 21.07.2005 13:57
Wohnort: zu Hause

Beitrag von Karl »

How about this, pal:

http://www.winfuture.de/news,9238.html

OK, Schuss ins Leere, aber die Idee ist nicht schlecht.

Karl
The Kopyright Liberation Front also known as the justified ancients of Mumu!
PB 5.X
Benutzeravatar
Tafkadasom2k5
Beiträge: 1578
Registriert: 13.08.2005 14:31
Kontaktdaten:

Beitrag von Tafkadasom2k5 »

Ja, finde ich ganz gut die Idee :allright: , nur ist das leider nicht meine Lösung... die ICH brauche... :(

Mein Ziel ist es, dass bestimmte Programme irgendwo rumliegen können wie sie wollen, aber nur VON DIESEM STICK.

Das heißt, dass der gleiche Datenstand von meinem USB-Stick durch einfaches Copy-Paste wertlos ist...
Klar, das geht auch mit der MVXA-Methode, aber da kann man mit anderer Software wieder nachhelfen...

Gr33tz
Tafkadasom2k5
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Benutzeravatar
mueckerich
Beiträge: 220
Registriert: 13.09.2004 11:33
Wohnort: Am schönsten Flecken der Erde, zwischen PC und Motorrad

Beitrag von mueckerich »

Habe da noch mal was bei Microsoft gefunden:
Device I/O
IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER

The IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER control code retrieves the serial number of a USB device.
http://windowssdk.msdn.microsoft.com/li ... number.asp

Hoffentlich hilft Dir das weiter.
"Wenn Sie glauben, mich verstanden zu haben, dann habe ich mich falsch ausgedrückt" ( Alan Greenspan)
Icke
Beiträge: 143
Registriert: 08.09.2004 13:19

Beitrag von Icke »

Hab ich noch auf Platte gehabt, ich glaub noch für 3.91 oder so. Vielleicht ist es brauchbar.

Code: Alles auswählen

NewList allelaufwerke.s()

Procedure check_laufwerke()
  ClearList(allelaufwerke())
  For i=67 To 90
    Lfwrk.s=Chr(i)+":\"
    type.l =GetDriveType_(Lfwrk.s)
    FileSystem.s = Space(256)
    VolName.s= Space(256)
    GetVolumeInformation_(@Lfwrk.s, @VolName.s, 255, @Serial.l, 0, 0, @FileSystem.s, 255)
    Select type.l
      Case 0
        Debug Lfwrk.s+" The drive type cannot be determined."
      Case 1
        Debug Lfwrk.s+" = nicht belegt, "+VolName.s+", "+FileSystem.s+", "+  Hex(Serial.l)
      Case 2
        AddElement(allelaufwerke())
        allelaufwerke()=Lfwrk.s+" = DRIVE_REMOVABLE, "+VolName.s+", "+FileSystem.s+", "+  Hex(Serial.l)
        Debug allelaufwerke()
      Case 3
        AddElement(allelaufwerke())
        allelaufwerke()=Lfwrk.s+" = DRIVE_FIXED, "+VolName.s+", "+FileSystem.s+", "+  Hex(Serial.l)
        Debug allelaufwerke()
      Case 4
        Debug Lfwrk.s+" = DRIVE_REMOTE, "+VolName.s+", "+FileSystem.s+", "+  Hex(Serial.l)
      Case 5
        Debug Lfwrk.s+" = DRIVE_CDROM, "+VolName.s+", "+FileSystem.s+", "+  Hex(Serial.l)
      Case 6
        Debug Lfwrk.s+" =  DRIVE_RAMDISK,   "+VolName.s+", "+FileSystem.s+", "+  Hex(Serial)
    EndSelect
  Next 
EndProcedure

check_laufwerke() 
Benutzeravatar
Tafkadasom2k5
Beiträge: 1578
Registriert: 13.08.2005 14:31
Kontaktdaten:

Beitrag von Tafkadasom2k5 »

*push*
Ich habe jetzt mal ein wenig herumprobiert, aber dieses "GetVolumeInformation" scheint absolut der falsche Weg zu sein.

Ich bin aber durch mueckerichs Einwurf auf http://msdn.microsoft.com/library/defau ... number.asp
(GetSeriaNumber)gestoßen, und das scheint mir eher zu liegen ;)

Nun aber die Frage:
GetSerialNumber_(PWMDMID pSerialNumber, BYTE abMac[WMDM_MAC_LENGTH]

Was genau muss ich da übergeben?Oder wie gebe ich das zu analysierende Laufwer da an?

Gr33tz
Tafkadasom2k5
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Icke
Beiträge: 143
Registriert: 08.09.2004 13:19

Beitrag von Icke »

Geht es nicht mit "GetVolumeInformation", ist die Serial falsch?
Benutzeravatar
Tafkadasom2k5
Beiträge: 1578
Registriert: 13.08.2005 14:31
Kontaktdaten:

Beitrag von Tafkadasom2k5 »

Das Problem ist, dass AFAIK nicht die Seriennummer ausgelesen wird, sondern tatsächlich nur die Volume-Nummer, die sich bei jedem Format wieder ändert und auch Fakeba ist (siehe anderer Thread hier irgendwo... "Seriennummer eines Datenträgers verändern" heißt der glaub ich)

Und das würde mir nicht reichen- zur ABwechslung gebe ich mich mal mi keinen "halben Sachen" zufrieden, da ich diesman etwas sicheres brauche..

Gr33tz
Tafkadasom2k5
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Antworten