Einzelnen Beitrag anzeigen

EConvertError

Registriert seit: 29. Sep 2003
Ort: Österreich
230 Beiträge
 
#11

Re: "Datenträgerdialog" & Bilder von Datenträg

  Alt 4. Mai 2007, 20:04
Ich muss für etwas Klarheit sorgen:

Ich habe bisher folgendes in die Registry eingetragen:
Code:
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
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.

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?
TMainForm = class(TForm, IDropTarget) Oder kann ich folgenden Code verwenden:
RegisterDragDrop(Handle, DropTarget) Oder muss das völlig anders gemacht werden?

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:
TestInvokeVerb
  Command: (Standard):"C:\Programme\meine.exe" /open"%L"
Ich würde es aber gern, sofern möglich über den IDropTarget-Ansatz lösen, da das doch einige Vorteile bieten würde.

Vielen Dank,
Andreas
Andreas N.
  Mit Zitat antworten Zitat