Einzelnen Beitrag anzeigen

Benutzerbild von Wormid
Wormid

Registriert seit: 26. Aug 2003
Ort: Steinfurt
292 Beiträge
 
Delphi XE2 Professional
 
#1

Event wenn Digitalkamera angeschlossen wird...

  Alt 26. Aug 2003, 19:54
Moin,

da ich vorhin über dieses Forum gestolpert bin bei der Suche nach der Lösung meines Problems, stelle ich die Frage auch direkt mal hier...


Also, folgendes:

Ich habe mir dieser Tage eine Digitalkamera von Casio gekauft *tusch* und musste dabei leider feststellen, das die beiligende Software "Photo Loader" nicht das Gelbe vom Ei ist... Deshalb wollte ich mal prüfen, ob es möglich ist, so etwas in der Art selbst zu fabrizieren.
Das Casio-Program nistet sich im System-Tray ein (das ist natürlich in Delphi kein Problem) und wird aktiv, sobald man die Kamera an den USB anschliesst. Und das ist das Problem, das ich hier mal zur Sprache bringen will...

Komponenten, die mir in dieser Sache weiterhelfen habe ich bisher keine gefunden. Die JvHidControllerClass aus dem Jedi Projekt hat mich auch kaum weitergebracht, da eine Kamera scheinbar kein HID zu sein scheint...
Mein zweiter Ansatz war, die WM_DEVICECHANGE-Nachrichten auszuwerten. Das funktioniert auch soweit irgendwie, ich bekomme die Nachricht, wenn ich sie anschliesse und bekomme auch den neuen Laufwerksbuchstaben raus. Eindeutig identifizeren kann ich das Gerät aber irgendwie nicht. Und nur ein Test auf das Verzeichnis "DCIM" halte ich für nicht gut genug.
Ich denke, der richtige Weg geht wahrscheinlich über die API-Funktionen rund um RegisterDeviceNotification. Aber das ist mein Problem, dafür bin ich nicht API-fit genug.
Hat jemand schon mal in dieser Richtung was gemacht, oder weiss jemand ne gute Komponente, die das Problem lösen kann? Oder hat jemand nen Link zu einer Doku, die mir vielleicht weiterhelfen könnte?

Eins noch eben: Es geht NICHT darum, eine Steuerungssoftware via USB für Digicams zu schreiben. Die meisten Kameras liefern einen Treiber mit, der sie als "Wechseldatenträger" im System anmeldet. Das Kopieren der Bilder lässt sich dann mit den ganz normalen Datei-Routinen von Delphi lösen.


Hmm... ziemlich viel Text. Hoffentlich konnte ich klarmachen, was ich wollte... ansonsten stehe ich gerne für Rückfragen zu Verfügung.

Mit freundlichem Gruß

Wormid
  Mit Zitat antworten Zitat