![]() |
GUID in eine PIDL umwandeln
Hallo,
ich bekomme für bestimmt Geräte (z.B. Canon Diggi-Cam) eine GUID ausgegeben. Diese bekomme ich über dbcc_classguid, siehe hier (dbcc_classguid): ![]() Leider geht MSDN nicht darauf ein, in welcher Form die GUID hier ausgegeben wird, ich vermute mal als Pointer. Jetzt möchte ich die GUID, so wie hier beschrieben ![]() parsen, damit ich eine PIDL bekomme um auf die Files der Kamera zugreifen zu können. Sind die beiden erwähnten GUIDs von gleicher Art? Falls ja, wie übersetze ich die eine korrekt um meine gewünschte PIDL zu bekommen? Bin sehr auf Eure Antworten gespannt. Grüße Sebastian EDIT: Also GUIDToSTring aus SysUtils gibt mir schonmal eine Guid in der Form {zahlen-zahlen-...-zahlen}. Jetzt muss ich nur noch schauen ob ParseDisplayName das Ganz auch frisst.. |
Re: GUID in eine PIDL umwandeln
Okay, fasst geschafft jetzt ist aber einer wahrer GUID-Experte gefragt:
Die Kamera wird direkt im Arbeitsplatz eingebunden, der Pfad lautet:
Delphi-Quellcode:
Hier noch schnell die Übersetzung der GUIDs:
::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\
::{E211B736-43FD-11D1-9EFB-0000F8757FCD}\devid:{6BDD1FC6-810F-11D0-BEC7-08002BE2092F}\0001: 1. Arbeitsplatz 2. Systemsteuerung 3. Scanner und Kameras 4. die GUID meiner Kamera Was bedeutet nun die '\0001:' am Ende ?? Mein Problem: Ich kann diesen Pfad parsen und an eine EnumIDList binden, aber es sind dann keine Objekte in der Liste. Wenn ich im Explorer die Kamera öffne finde ich natürlich jede Menge Bilder. Das heißt, der obige Pfad führt mich nicht direkt zu den Bildern. :x Wer weiß es besser ? |
Re: GUID in eine PIDL umwandeln
der Pfad zu den Bildern auf der Kamera sieht so aus:
::blabla::\devid:{GUID}\0001:\0001\Root (siehe oben) Problem: Auf Root lässt sich keine PIDL parsen. :wall: Und von einer höheren Ebene kann ich kein EnumObjects anwenden. :freak: Wäre cool, wenn ihr Ideen hättet, was ich noch ausprobieren könnte, irgendwie muss Windows den Kram ja auch handeln.. |
Re: GUID in eine PIDL umwandeln
okay, wenn man sich von 'oben' in der Hierachie durchEnumeriert und bekommt man auch Zugriff auf die Cam. So macht es der ShellListView schließlich auch.
Man sollte manche Sachen eben doch Bottom-Up angehen und dann eine elegante Lösung suchen, wenn man weiß wie die Dinge laufen. :warn: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:09 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