![]() |
Re: "Datenträgerdialog" & Bilder von Datenträg
Ich muss für etwas Klarheit sorgen:
Ich habe bisher folgendes in die Registry eingetragen:
Code:
Mein Programm wird schon mal gestartet, aber ich habe noch nicht ganz herausbekommen, wie ich IDropTarget implementieren muss und ob es etwas mit OLE Drag & Drop zu tun hat.
SOFTWARE
Microsoft Windows CurrentVersion Explorer AutoplayHandlers EventHandlers ShowPicturesOnArrival: AutoPlayTest SOFTWARE Microsoft Windows CurrentVersion Explorer AutoplayHandlers Handlers AutoplayTest: Action: TestAction InvokeProgID: AutoPlayTest.Test InvokeVerb: TestInvokeVerb Provider: TestProvider HKEY_CLASSES_ROOT AutoPlayTest.Test Shell TestInvokeVerb CLSID: {61BFAF8D-3DA6-4028-91FF-EBC83D5B1DD0} HKEY_CLASSES_ROOT CLSID {7A984D53-940C-4fff-827B-8FEF848C165B} LocalServer32: (Standard): C:\Project1.exe Leider geschieht nach dem Starten noch nichts. Also bleibt immer noch die Frage: Wo und wie muss ich IDropTarget implementieren? Muss mein Form IDropTarget implementieren?
Delphi-Quellcode:
Oder kann ich folgenden Code verwenden:
TMainForm = class(TForm, IDropTarget)
Delphi-Quellcode:
Oder muss das völlig anders gemacht werden?
RegisterDragDrop(Handle, DropTarget)
Bisher habe ich es noch nicht zum Laufen gebracht. Auch mit dem Code aus dem anderen Thread nicht. Habe dort angegebene Unit2 testweise eingebunden, was aber keinen Effekt gezeigt hat: Die Drop(...)-Methode wurde nicht aufgerufen. Übrigens habe ich bemerkt, dass man statt dem CLSID-Ansatz auch direkt das Kommando in dieser Form in der Registry angeben kann:
Code:
Ich würde es aber gern, sofern möglich über den IDropTarget-Ansatz lösen, da das doch einige Vorteile bieten würde.
TestInvokeVerb
Command: (Standard):"C:\Programme\meine.exe" /open"%L" Vielen Dank, Andreas |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:35 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