Seite 2 von 2

Verfasst: 01.06.2006 16:30
von Karl
How about this, pal:

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

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

Karl

Verfasst: 01.06.2006 20:04
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

Verfasst: 02.06.2006 13:51
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.

Verfasst: 03.06.2006 20:16
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() 

Verfasst: 26.06.2006 14:48
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

Verfasst: 26.06.2006 15:14
von Icke
Geht es nicht mit "GetVolumeInformation", ist die Serial falsch?

Verfasst: 26.06.2006 15:55
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