Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Explorer Shell Extension wie TortoiseXXX (https://www.delphipraxis.net/116952-explorer-shell-extension-wie-tortoisexxx.html)

ralfiii 9. Jul 2008 09:20


Explorer Shell Extension wie TortoiseXXX
 
Hallo!

Ich möchte eine Shell-Extension schreiben, die gleich funktioniert wie die von TortoiseCVS / TortoiseSVN.

1.) Ich möchte einen Satz Dateien/Verzeichnisse auswählen können und bei Rechtsklick wird das Explorermenü um zu den Dateien/Verzeichnissen passenden Einträge erweitert. d.h. ich brauch einen Event beim Rechtsklick und eine Möglichkeit festzustellen was ausgewählt ist.
2.) Für den rechtsklick in den rechten Teil vom Explorer-fenster brauch ich auch einen Event - damit wähl ich dann einfach alle Files im Folder aus.

Wie wo was??!?

Danke,
Ralf

OldGrumpy 9. Jul 2008 09:35

Re: Explorer Shell Extension wie TortoiseXXX
 
Zitat:

Zitat von ralfiii
[...]Wie[...]??!?

Mit einer Programmiersprache.

Zitat:

Zitat von ralfiii
[...]wo[...]??!?

Auf Deinem Rechner.

Zitat:

Zitat von ralfiii
[...]was[...]??!?

Wenn ich mich echt entsinne, wolltest Du eine Shell Extension schreiben. Kann aber auch sein, dass ich mich irre. Auf jeden Fall ist das hier für Dich interessant.

DeddyH 9. Jul 2008 09:37

Re: Explorer Shell Extension wie TortoiseXXX
 
Ich weiß nicht, ob das bei D2006 noch dabei ist, aber es gibt (unter Delphi 5) eine Demo unter {$DELPHI}\Demos\Activex\Shellext

OldGrumpy 9. Jul 2008 09:45

Re: Explorer Shell Extension wie TortoiseXXX
 
Zitat:

Zitat von DeddyH
Ich weiß nicht, ob das bei D2006 noch dabei ist, aber es gibt (unter Delphi 5) eine Demo unter {$DELPHI}\Demos\Activex\Shellext

Ja, liegt jetzt aber unter {$DELPHI}\Demos\DelphiWin32\VCLWin32\ActiveX\Shell Ext :)

ralfiii 9. Jul 2008 10:28

Re: Explorer Shell Extension wie TortoiseXXX
 
Zitat:

Zitat von DeddyH
Ich weiß nicht, ob das bei D2006 noch dabei ist, aber es gibt (unter Delphi 5) eine Demo unter {$DELPHI}\Demos\Activex\Shellext

Danke für den Tip.
Allerdings: Das Beispiel funktioniert unter Delphi 5 brav.
Nachdem man es compiliert kann man es über "Start/ActiveX-Server registrieren" im System registrieren und es kommt auch das Context-Menü. (Es wird auch zum Projekt eine tlb-Datei erzeugt, keine Ahnung wo die herkommt?!?)

Bei Delphi2007 bleibt der "...registrieren" Eintrag ausgeblendet. Wenn man den Job manuell mit "regsvr32 CONTMENU.dll" erledigt, so kommt trotzdem kein Kontext-Menü. Man kann die dll sogar löschen, was heisst, das se nie vom Explorer geladen wird.
Ich muss das Programm aber unter D2007 entwickeln, D5 hab ich nur noch für Notfälle auf einer VM liegen.

Hilfe, hilfe!

Ad OldGrumpy: Danke für den überaus hilfreichen Tip :gruebel: haben wir heute im Witzkisterl geschlafen?

ralfiii 14. Jul 2008 09:45

Re: Explorer Shell Extension wie TortoiseXXX
 
Zitat:

Zitat von ralfiii
Das Beispiel funktioniert nur unter Delphi 5.
Nachdem man es compiliert kann man es über "Start/ActiveX-Server registrieren" im System registrieren und es kommt auch das Context-Menü. (Es wird auch zum Projekt eine tlb-Datei erzeugt, keine Ahnung wo die herkommt?!?)
Bei Delphi2007 bleibt der "...registrieren" Eintrag ausgeblendet.

Ist das nur bei mir so?
Wenn man bei euch das Beispiel compiliert, wird der "ActiveX registrieren" Eintrag im Delphi-Menü aktiviert?
(Vielleicht hab ich ja mein Delphi kaputtkonfiguriert)

Danke,
Ralf

ralfiii 17. Jul 2008 17:11

Re: Explorer Shell Extension wie TortoiseXXX
 
Das Demo hat einfach schon immer einen kleinen Bug gehabt, Lösung siehe dieses Posting. (Den Link darauf hab ich hier gefunden.)

Blöderweise hab ich feststellen müssen, dass das Beispiel mir nichts (oder zumindest weniger als erwartet) bringt, weil ich meine Anwendung ja nicht für einen bestimmten Filetypen (hier im Beispiel "DelphiProject") registrieren will, sondern allgemein das Explorer-Menü erweitern will.

Wie nun also?

Vielen Dank im voraus!

_frank_ 17. Jul 2008 17:30

Re: Explorer Shell Extension wie TortoiseXXX
 
wenn ich mich recht entsinne, registriert man shellextensions (unter HKEY_CLASSES_ROOT) mit einem classID-schlüssel und einem zugehörigen ContextMenuHandler-Schlüssel unter dem ShellExt-Schlüssel des entsprechenden Dateitypes bzw. unter *.

HTH Frank

uligerhardt 17. Jul 2008 17:32

Re: Explorer Shell Extension wie TortoiseXXX
 
Vielleicht ist auch EasyNSE (http://www.mustangpeak.net/) für dich interessant.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:13 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