Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Wechseldatenträger eindeutig erkennen? (https://www.delphipraxis.net/52632-wechseldatentraeger-eindeutig-erkennen.html)

100nF 31. Aug 2005 17:25


Wechseldatenträger eindeutig erkennen?
 
hallo zusammen,

ich will in meinem programm zu verschiedenen wechseldatenträger bestimmte informationen zuordnen. in einer combobox möchte ich dann alle angeschlossenen wechseldatenträger auflisten, die schon informationen zugeordnet haben, und dessen informationen auslesen.

meine fragen:
1. Hat jeder Wechseldatenträger eine eindeutige Information (ID, Seriennummer, usw.) gespeichert, die sich nie ändert?(wenn sie sich beim formatieren ändert, ist es auch nicht so schlimm)
2. Kann man diese Information auslesen? Wenn ja, wie?
3. Kann man anhand dieser Information auslesen, ob dieser wechseldatenträger angeschlossen ist?

Wäre sehr dankbar für Antworten!!

Gruee
urbanbruhin

Alter Mann 31. Aug 2005 17:39

Re: Wechseldatenträger eindeutig erkennen?
 
Hallo

schau mal hier nach:usbspeicher identifizieren

Daniel G 31. Aug 2005 17:45

Re: Wechseldatenträger eindeutig erkennen?
 
Sowas in dieser Richtung?

http://forums.devshed.com/t136265/s.html

100nF 31. Aug 2005 17:51

Re: Wechseldatenträger eindeutig erkennen?
 
@Alter Mann
danke für den link, aber da wurde das problem auch nicht gelöst.

@Daniel G
das muss ich mir mal genauer durchlesen, obwohl ich nicht wirklich gut bin in englisch...bin auch noch jung, da hab ich noch zeit zum lernen :mrgreen:

danke vorläuffig für die antworten!

Alter Mann 31. Aug 2005 18:07

Re: Wechseldatenträger eindeutig erkennen?
 
Hi,

dann versuch es mit WMI. Lösungen in der DP.

100nF 31. Aug 2005 20:30

Re: Wechseldatenträger eindeutig erkennen?
 
@Alter Mann
ich habe hier eine komponente von dir gefunden. könnte ich die serialnummer eines Wechseldatenträgers mit dieser komponente ermitteln?

Alter Mann 1. Sep 2005 19:28

Re: Wechseldatenträger eindeutig erkennen?
 
Hallo urbanbruhin,

lade das wmiInspector und schau
was es kann, oder auch nicht kann. Wenn es das ist was Du suchst und Du D5-7 hast, lade den Rest. Ich habe
den Code ein wenig 'schleifen' lassen(zu wenig Zeit), und deshalb nichts neues reingelegt.

Gruss

100nF 3. Sep 2005 10:26

Re: Wechseldatenträger eindeutig erkennen?
 
also mit deinem prog bekomme ich z.B. nur "USB-Massenspeichergerät" aber keine näheren informationen wie z.B. die serialnummer.
deine komponenten hab ich auch mal installiert, aber ich habe null ahnung was ich jetzt mit den komponenten machen muss, um die hardware-informationen auslesen zu können. wenn ich das beispiel starten will, fehlt mir die datei "NamespaceEditor.pas"

100nF 4. Sep 2005 09:47

Re: Wechseldatenträger eindeutig erkennen?
 
*push*

hat denn sonst niemand eine idee?
@Alter Mann
hast du vielleicht die "NamespaceEditor.pas"? ohne die läuft deine komponente nämlich nicht.

@All
mit GetVolumeInformation hab ichs auch schon ein paar mal probiert, jedoch ist die seriennummer immer = 0...

ich wäre froh wenn ihr noch ein paar ideen habt.

grüsse aus der schweiz
urbanbruhin

DGL-luke 4. Sep 2005 09:52

Re: Wechseldatenträger eindeutig erkennen?
 
wie wärs, wenn du eine kleine indexdatei auf jedem neu erkannten datenträger speicherst?

Alter Mann 4. Sep 2005 12:11

Re: Wechseldatenträger eindeutig erkennen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi urbanbruhin,

Du must nur den Suchpfad auf dein lib(5-7)-Verzeichnis setzen, dort befindet sich
die "NamespaceEditor.dcu".

Anbei das Beispiel:

100nF 4. Sep 2005 17:37

Re: Wechseldatenträger eindeutig erkennen?
 
Zitat:

Zitat von DGL-luke
wie wärs, wenn du eine kleine indexdatei auf jedem neu erkannten datenträger speicherst?

gar keine schlechte idee :gruebel:
ich denke, wenn ich keine bessere lösung finde, mache ich es so. danke für deine idee!! :angel:

@Alter Mann
ich weiss nicht ob ich nur so dumm tue oder ob ich so dumm bin, aber ich weiss einfach nicht wie ich mit deinem programm die seriennummer eines USB-Gerätes ermittle :gruebel:

könntest du mir mal erklären was ich da genau machen muss?

vielen dank schon mal für deine hilfe!

gruss
urbanbruhin

100nF 7. Sep 2005 17:16

Re: Wechseldatenträger eindeutig erkennen?
 
*push*

also ich gebs jetzt auf mit der seriennummer.... :wall:
aber weiss jemand, wie mann sonst irgendwas (z.B. Beschreibung usw.) eines Laufwerkes ermitteln kann? geht das auch irgendwie mit getdriveinformation?
ich werde unterdessen mal noch ein bisschen im forum suchen... :coder2:

ich wäre froh wenn ihr mit weiterhelfen könnt, ich bin schon fast am verzweifeln :wall:

gruss urbanbruhin

Alter Mann 7. Sep 2005 19:25

Re: Wechseldatenträger eindeutig erkennen?
 
Hallo urbanbruhin,

was soll ich sagen?;:

Das die Bezeichnung "Wechseldatenträger" zu schwammig ist?
Das USB-Sticks keine Seriennummer haben?
Das Du dich nicht mit WMI auseinandersetzt?

Ich weiss es nicht!?

In der DP gibt es genug Beiträge die sich mit der Seriennummer von USB-Geräten auseinandersetzen, Fazit:
Nicht alle haben eine, obwohl MS es 'vorschreibt'. Hat dein USB-Stick keine, PECH!
Bei anderen Geräten, wie HDD's sieht es etwas anders aus. Wie der "wmiInspector" zeigt kann mann die
Seriennummer, Firmware und Modellbezeichnung auslesen. Das geht mit dem Beispiel auch, allerdings sollte
man vorher wissen was, welcher WQL-Aufruf wo zurück bringt. Das Ergebnis des "wmiInspector" stellt
in diesem Zusammenhang den Aufruf von (ich glaube, weil ich jetzt nicht nachsehen möchte) 3 WQL-Aufrufen dar.
Also besorge Dir das WMI-SDK und lese selber nach.

PS Kopf hoch!!! Wenn Du konkret sagen kannst was Du möchtest und Deine Frage nicht so 'schwammig' ist(s.o.), dann
darf es auch eine PN sein.

Gruss

100nF 7. Sep 2005 19:48

Re: Wechseldatenträger eindeutig erkennen?
 
hallo Alter Mann

erstmal danke für deine antwort
Zitat:

Das die Bezeichnung "Wechseldatenträger" zu schwammig ist?
heisst das, das es zu ungenau ist? nun, es sind damit alle geräte gemeint, bei denen man mp3's mit drag and drop herüberladen kann. z.B. mp3-Player, Natel, Stick, usw
Zitat:

Das USB-Sticks keine Seriennummer haben?
aber das sollten sie ja eigentlich haben. nur eben leider nicht alle, wie du schreibst.ich dachte, dass auch mein stick eine seriennummer hat, die ich eifach nicht auslesen konnte, aber ich denke jetzt, dass mein stick eben leider keine hat.
Zitat:

Das Du dich nicht mit WMI auseinandersetzt?
aber das habe ich doch genau gemacht! ich habe deine komponenten heruntergeladen, viele themen von der DP durchgelesen, sehr viele möglichkeiten ausprobiert, nur hat keines davon etwas genützt. schon klar, wenn ich eine seriennummer auslesen will, die gar nicht vorhanden ist :wall:
Zitat:

In der DP gibt es genug Beiträge die sich mit der Seriennummer von USB-Geräten auseinandersetzen
ja das stimmt, aber keine davon sind beantwortet worden.
Zitat:

Wenn Du konkret sagen kannst was Du möchtest und Deine Frage nicht so 'schwammig' ist(s.o.),
meinst du mit "schwammig", dass unklar ist, was ich damit vorhabe? wenn ja, hier mein ziel:
ich arbeite an einem mp3-programm. eine funktion davon ist das rüberkopieren von mp3's auf tragbare geräte. bei normalen mp3-player ist das nicht das problem, da kann ich die dateien einfach ins hauptverzeichnis kopieren. wenn man aber z.B. ein natel anschliesst, müssten die mp3-dateien z.B. auf [laufwerkbuchstabe]\files\mp3\, also in einen unterordner kopiert werden. mir kam dann die idee, dass man dann zu jedem gerät bestimmen kann, in welches verzeichnis die dateien kopiert werden sollen. dazu muss das programm aber zuerst "wissen", welche gerät angeschlossen ist, und mit dieser information das verzeichnis bestimmt werden kann. da dachte ich, eine seriennummer wäre genau das richtige...

ich hoffe du verstehst mein problem

gruss
urbanbruhin

Alter Mann 8. Sep 2005 18:57

Re: Wechseldatenträger eindeutig erkennen?
 
Hallo urbanbruhin,

so ist es richtig! Ich wollte Dir ja auch nicht unbedingt unterstellen das Du Dich mit der Tematik nicht auseinandersetzt.
Aber nun weis ich endlich was Du eigentlich willst; Und da kann Dir geholfen werden(hoffe ich doch).

Wie schon angedeutet haben nicht alle(fast keiner hat) eine Seriennummer;-(
Ist aber für Dein Vorhaben nicht weiter Wild.
Alle Hersteller haben eine VendorID und jedes Gerät hat eine ProductID.
Das sollte reichen. Da Du ja anhand dieser Informationen erkennen kannst welches Gerät verfügbar ist,
kannst Du entscheiden wo was hinkopiert werden muss.
Weitere Informationen, und/oder ISBN 3-7723-7965-6.

Für unbekannte USB-Sticks würde ich beim ersten kopieren ein Dialog anbieten und mir VEN&PID sowie den Pfad speichern.

Gruss

100nF 8. Sep 2005 19:34

Re: Wechseldatenträger eindeutig erkennen?
 
hallo Alter Mann
vielen dank für deine hilfreiche antwort!! :love:

ich denke, damit lässt sich etwas machen. ich hab hier ein programm gefunden, das die Vendor-Id anzeigen kann.
ich habe aber noch 2 fragen:
1. ist die Product-ID und die Device-Id das gleiche? du schreibst von einer Product-ID, aber bei dem programm ist die nicht vorhanden, aber eine Device-ID ist da.
2. kann es sein, dass dieVendor-ID 0x067B, und die Device-ID 0x2517 lautet?

ich habe momentan mein zweiter stick nicht da, darum kann ich nicht überprüfen, ob es beim anderen stick auch andere werte anzeigt.

EDIT: ich habe noch eine frage: bei dem genannten programm lässt sich zwar die vendor-ID auslesen, aber ich sehe nirgens, welchen laufwerkbuchstaben der stick hat. meinst du, das lässt sich irgendwie auslesen? ohne diese information kann ich das ganze vorhaben ja vergessen...

gruss
urbanbruhin

Saarpoint 8. Sep 2005 21:05

Re: Wechseldatenträger eindeutig erkennen?
 
Hi!

Was mich mal interessieren würde: Kann man auch CardReader-Laufwerke irgendwie unterscheiden?
Habe z.B. Laufwerk H,I,J und K. Welches ist jedoch nun das SD, das CF, das MMC, etc. Laufwerk?
Ich hab nicht für jeden Einschubschacht auch eine Karte und weiß teilweise bis heute nicht, zu
welchem Kartentyp welcher Laufwrksbuchstabe gehört... :roll:

Gruß, Andy

100nF 8. Sep 2005 21:26

Re: Wechseldatenträger eindeutig erkennen?
 
@Saarpoint
ich denke, es wäre besser wenn du einen neuen thread aufmachen würdest.

P.S. ich habe dieses problem auch immer...

gruss
urbanbruhin

Alter Mann 8. Sep 2005 21:33

Re: Wechseldatenträger eindeutig erkennen?
 
Hallo

@urbanbruhin

zu 1. nein, schau mal mit regedit unter HKLM\CurrentControllSet\Enum\USB bzw, USBSTOR: dort sind die USB-Geräte
nach Vendor + Produkt eingetragen. Hier nach zu lesen "device-eject", bzw. hier USB-Wächter.

zu 2. ja, siehe 1.
zu EDIT:, siehe 1.

@Saarpoint

Man kann es herausbekommen, s.o.

Gruss

Saarpoint 8. Sep 2005 21:38

Re: Wechseldatenträger eindeutig erkennen?
 
@urbanbruhin
Wie ein neuer Thread?
Es geht doch um das erkennen der einzelnen Wechseldatenträger.
Bin ich da bei einem CardReader sooo falsch???

Die weiteren Tipps schaue ich mir mal an, vielen Dank dafür!
Jetzt gehts aber erst mal in die Heia... :-D

Andy

100nF 9. Sep 2005 16:41

Re: Wechseldatenträger eindeutig erkennen?
 
Zitat:

Wie ein neuer Thread?
Es geht doch um das erkennen der einzelnen Wechseldatenträger.
ja ok, stimmt... :stupid:
aber eine antwort weiss nich nicht zu deinem problem

@ Alter Mann:
also ich hab mir mal den "USB-Wächter" (link von deinem letzten beitrag) runtergeladen, aber wenn ich die datei "ExistingUsbDevices.txt erzeugen" ausführe, kommt mir immer ein fehler, irgendwas mit der datei "USBSecure.vbs" stimmt nicht. wenn du den fehler sehen willst, kann ich ja mal einen screenshot anhängen.
ich habe aber leider noch nirgens ein programm mit source gefunden, mit dem man die vendor-id usw. auslesen kann. also kann ich im moment nichts anderes machen, als suchen :coder:

EDIT: ich konnte jetzt die "USBSecure.vbs" "reparieren", nun funktioniert si auch. aber ich habe ja keinen source, also bringt mir das programm nichts.

gruss
urbanbruhin

himitsu 9. Sep 2005 16:57

Re: Wechseldatenträger eindeutig erkennen?
 
Nur nochmal war kurzes zu dem schwammigen Begriff des Wecheldatenträgers.

Ich persönlich nutze eine Handelsübliche IDE-HDD (Festplatte) als Wechellaufwerk, womit diese dann wohl auch ein Wechseldatenträger ist -.-''

100nF 9. Sep 2005 17:21

Re: Wechseldatenträger eindeutig erkennen?
 
Zitat:

Zitat von himitsu
Nur nochmal war kurzes zu dem schwammigen Begriff des Wecheldatenträgers.

Ich persönlich nutze eine Handelsübliche IDE-HDD (Festplatte) als Wechellaufwerk, womit diese dann wohl auch ein Wechseldatenträger ist -.-''

wenn sie im arbeitsplatz als wechseldatenträger eingeordnet ist, sollte auch diese in meinem programm angezeigt werden, da mann ja auch mp3's auf festplatten kopieren kann :stupid:

Alter Mann 11. Sep 2005 05:56

Re: Wechseldatenträger eindeutig erkennen?
 
hallo urbanbruhin,

hast Du hier die Pfade angepasst?
Zitat:

' USBSecure 1.0 für Windows 2000/XP
' Copyright 2003 Robert Hohmann & c't
' Erkennt installierte USB-Geräte und vergleicht
' sie mit einer Liste zugelassener Geräte (USBSecure.cfg)
' Der Aufruf des Scripts mit dem Parameter "/c" erzeugt
' die Datei ExistingUsbDevices.txt, die als USBSecure.cfg
' verwendet werden kann.

CfgFileName = "C:\Programme\USBSecure\USBSecure.cfg"
TxtFileName = "C:\Programme\USBSecure\ExistingUsbDevices.txt "
Weiter so...

100nF 11. Sep 2005 10:33

Re: Wechseldatenträger eindeutig erkennen?
 
hallo Alter Mann

ich habe jetzt die pfade geändert. nun funktioniert es auch. es kommen alle 10 sekunden die angeschlossenen geräte in einem dialogfeld, aber ich weiss noch nicht genau was mir das nützt, da das ja nichts mit delphi zu tun hat. aber ich denke, du kannst mir da weiterhelfen :mrgreen:

gruss
urbanbruhin

100nF 12. Sep 2005 20:12

Re: Wechseldatenträger eindeutig erkennen?
 
*push*

hat keiner eine idee?
und ich habe immer noch nirgens gefunden, wie ich ermitteln kann, welcher Wechseldatentröger welcher Laufswerkbuchstaben besitzt.

ich hoffe auf antworten...

gruss
urbanbruhin

Robert Marquardt 13. Sep 2005 04:59

Re: Wechseldatenträger eindeutig erkennen?
 
Also ich bin sicher in mehreren Threads auf http://www.sf.net/projects/jedi-apilib verwiesen zu haben.
Dort habe ich in scapi ein Beispielprogramm zu Seriennummer von USB-Sticks und Laufwerksbuchstabenzuordnung dabei.

100nF 13. Sep 2005 21:17

Re: Wechseldatenträger eindeutig erkennen?
 
hi,

also ich hab schon alle dateien von dieser seite runtergeladen, und habe probiert die package "USBDeviceTreePkg" zu installieren, aber es kommt immer ein fehler in der datei "jediapilib.inc":
Zitat:

[Fehler] jediapilib.inc(47): 'INTERFACE' erwartet, aber Bezeichner 'ALERT_jedi_inc_incompatible' gefunden
ich hoffe auf eine lösung

gruss
urbanbruhin

Robert Marquardt 14. Sep 2005 04:43

Re: Wechseldatenträger eindeutig erkennen?
 
Ganz eindeutig hast du eine alte JCL oder JVCL installiert oder eine der Komponenten die jedi.c uebernommen haben.
Ich erwarte auch von Hilfesuchenden das sie die Sourcen lesen und sich nuetzliche Dinge selber rauspicken.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz