Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Paste / Einfügen funktion des windows explorer ersetzen (https://www.delphipraxis.net/85710-paste-einfuegen-funktion-des-windows-explorer-ersetzen.html)

Skullschildi 3. Feb 2007 17:14


Paste / Einfügen funktion des windows explorer ersetzen
 
ich komm glei zum Punkt:
Die Einfügen-funktion des windowsexplorers (XP und älter) geht mir aufn wecker, da man nur die vier unhandlichen funktionen Ja; ja, alle; nein; abbrechen zur verfügung hat und ich mir vorstellen könnte eine praktischere lösung zu finden. mein problem wäre nun, die windows internen filehandler zu ersetzen, durch eigene eben.
ich denke, dass die funktion bisher ein teil des windowsexplorer ist, die mit einem bestimmten parameter gestartet wird. den ganzen explorer neu zu schreiben dürfte ein großer aufwand sein, also würde ich gerne nur den besagten teil, die funktion "einfügen" ,verändern. meine frage nun: wo finde ich den allgemeinen wert für den parameter mit dem die einfügen funktion gestartet wird? gewöhnlich in der registry nehm ich ma an, aber unter welchen schlüssel?

das programm muss dann den pfad des "hinein einzufügenden" ordners mitgeteilt bekommen, wie bekomm ich den pfad raus? ich muss ja dann das prog mit dem pfad als parameter starten lassen, und dem teil sagen, dass es in diesen pfad einzufügen hat , was in der zwischenablage steckt.

und die lizenzrechtlichen proleme wegen verändern des betriebssystemes, die sin jo mei problem :corky:

DGL-luke 3. Feb 2007 17:41

Re: Paste / Einfügen funktion des windows explorer ersetzen
 
Du könntest eine ShellExtension namens "EinfügenEx" schreiben, die du ins Kontextmenü der Verzeichnisse setzt.

Dann musst du nicht im WiNdows Explorer rumpfuschen.

Skullschildi 3. Feb 2007 18:18

Re: Paste / Einfügen funktion des windows explorer ersetzen
 
sehr gute möglichkeit, des hab ich mir schonma überlegt. nur steh ich dann vorm problem, dass ich nicht weiss wo das kontextmenü zu bearbeiten ist^^ und der pfad des ordners fehlt auch noch

DGL-luke 3. Feb 2007 19:10

Re: Paste / Einfügen funktion des windows explorer ersetzen
 
Solltest du eigentlich alles kriegen... deine ShellExtension musst du halt in der Registry eintragen.

Skullschildi 3. Feb 2007 20:14

Re: Paste / Einfügen funktion des windows explorer ersetzen
 
wo muss ich die denn eintragen? wenn ich in der registry unter current_class guck und shellextensions von folder oder directory such, find ich nur sowas wie
Zitat:

{EB4D3CFE-E2AA-4C6E-B2FE-2A749F95D208}
ich denke, das sollte zu einem weiteren schlüssel führen, aber da ich nicht weiss welche von diesen ominösen adressen richtig is, kann ich mir da n wolf suchen bis ich des find.

und mir fehlt immernoch die funktion den pfad des ordners , indem der befehl gegeben wurde, preiszugeben.

Skullschildi 7. Feb 2007 15:08

Re: Paste / Einfügen funktion des windows explorer ersetzen
 
das mit dem programm hab ich hinbekommen. ich hab des neue programm mittels ordneroptionen/dateitypen/ in die registry eingebunden. allerdings kann man die nichtmehr auf diesem weg löschen, macht aber jetzt nix. ich hab nun in der registry unter dem eintrag der im kontextmenü engezeigten funktion den programmname+pfad stehen und kann dahinter die parameter eingeben. des wird auch herrlich an mein prog übergeben. jetzt wüsste ich gerne wie ich den pfad des ordners, auf/in welchem die kontextmenüfunktion aufgerufen wurde übergeben wird.

ich habs schon mit den parametern
Zitat:

\%currentdir%\
und
Zitat:

\%currentfolder%\
versucht. aber statt dem ordnerpfad bekomm ich
Zitat:

\currentdir\
bzw
Zitat:

\currentfolder\
als parameter raus.

zur probe hab ich mal den parameter
Zitat:

%SystemRoot%
übergeben lassen und mein Programm empfing
Zitat:

1ystemRoot
. Ja, da steht wirklich 1ystemroot, ich hab mich nicht vertippt.

ich wüsst jetzt eben gern wie ich den pfad des ordners, indem das kontextmenü aufgerufen wird, als parameter übergeben kann.

Skullschildi 7. Feb 2007 15:15

Re: Paste / Einfügen funktion des windows explorer ersetzen
 
habs gefunden, der parameter sollte "%1" lauten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz