Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Eintrag ins Kontextmenü (https://www.delphipraxis.net/28576-eintrag-ins-kontextmenue.html)

Delphi Freak 26. Aug 2004 15:42


Eintrag ins Kontextmenü
 
Hi!

Ich habe vor Kurzem ein Verschlüsselungsprogramm geschrieben. Jetzt möchte ich es jedoch um eine Funktion erweitern: Wenn ich die zu ver-/entschlüsselnde Datei in Windows mit der rechten Maustaste öffne, soll in dem dann erscheinenden Kontextmenü ein neuer Eintrag erscheinen, um die Datei direkt mit meinem Verschlüsselungsprogramm zu öffnen.

Luckie 26. Aug 2004 16:03

Re: Eintrag ins Kontextmenü
 
bemüh mal die Suche [dp]kontextmenü erweitern[/dp]. Das hatten wir schon zu genüge.

Delphi Freak 26. Aug 2004 17:22

Re: Eintrag ins Kontextmenü
 
Ich habe zwar jetzt einen neuen Eintrag im Kontextmenü, jedoch wird nur das Verschlüsselungsprogramm geöffnet und die Datei(en) nicht in die Listbox eingefügt. Wie kann ich das ändern?

Luckie 26. Aug 2004 17:28

Re: Eintrag ins Kontextmenü
 
Auch dazu solltest du hier im Forum eine Lösung finden.

Wenn du schon Code hast, dann wäre es auch interessant den mal zu sehen.

Delphi Freak 26. Aug 2004 17:36

Re: Eintrag ins Kontextmenü
 
Mein Code für den Eintrag ins Kontextmenü:

Code:
procedure TForm1.Button1Click(Sender: TObject);
var regist:Tregistry;
begin
   regist:= TRegistry.Create;

   regist.RootKey := HKEY_CLASSES_ROOT;
   regist.OpenKey('*',True);
   regist.WriteString('','Mit Krypto verschlüsseln');
   regist.CloseKey;
   regist.OpenKey('Mit Krypto verschlüsseln',True);
   regist.WriteString('','Mit Krypto verschlüsseln');
   regist.CloseKey;
   regist.OpenKey('*\shell\Mit Krypto verschlüsseln\command',True);
   regist.WriteString('','C:\Krypto.exe %1');
   regist.CloseKey;
end;

alcaeus 26. Aug 2004 18:20

Re: Eintrag ins Kontextmenü
 
Hi DelphiFreak!

Es ist wahrscheinlich, dass dein Programm die Parameter nicht auswertet. Such dazu mal nach [oh]ParamCount, ParamStr[/oh].

Greetz
alcaeus

Delphi Freak 26. Aug 2004 21:33

Re: Eintrag ins Kontextmenü
 
Ok, habe es geschaft die Parameter zu übertragen. Jetzt habe ich nur noch ein kleines Problem. Ich kann zwar mehrere Dateien mittels Parameterübergabe übertragen, jedoch wird das Verschlüsselungsprogramm für jeden Parameter neu geöffnet. Wahrscheinlich genügt es nicht, wenn man verhindert, dass das Programm mehrfach geöffnet werden kann. Welche Möglichkeiten gibt es dieses Probelmm schnell zu beheben?

Luckie 26. Aug 2004 21:44

Re: Eintrag ins Kontextmenü
 
Du musst verhindern, dass sich dein Programm mehrmals öffnet, aber bevor du die weitere Instanz beendest, muss sie die Daten, am bseten mit MSDN-Library durchsuchenWM_COPYDATA an die erste Instanz übertragen: Hier im Forum suchenwm_copydata createmutex.

Shaman 26. Aug 2004 22:14

Re: Eintrag ins Kontextmenü
 
Oder nimm das da :wink:

Gruss
Shaman

Delphi Freak 26. Aug 2004 23:03

Re: Eintrag ins Kontextmenü
 
Wahrscheinlich ist es die schnellste Methode mit diesen Dateien (OneInstance.pas und OneInstace.dcr) zu arbeiten. Jedoch komme ich auch damit nicht richtig zurecht. Kann mir deshalb jemand erklären, wie ich es richtig anwenden kann?


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:20 Uhr.
Seite 1 von 2  1 2      

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