![]() |
Re: Problem mit Dateiaufruf per paramstr
Zitat:
Gruß hagen |
Re: Problem mit Dateiaufruf per paramstr
also ich habe folgendes festgestellt:
Code:
procedure TForm1.addClick(Sender: TObject);
begin reg:=tregistry.create(); // Dateien ins Context Menü Reg.RootKey:=HKEY_CLASSES_ROOT; Reg.OpenKey('*\shell',true); Reg.CloseKey; Reg.OpenKey('*\shell\'+Name,true); Reg.WriteString('',Title);//optional Reg.CloseKey; Reg.OpenKey('*\shell\'+Name+'\command',true); Reg.WriteString('',Adress); // adress="c:\test\meinprogramm.exe %1" Reg.CloseKey; Reg.OpenKey('*\shell\'+Name+'\ddeexec\',true); Reg.WriteString('','[open("%1")]'); Reg.CloseKey; // Ordner ins Context Menü Reg.OpenKey('Directory\shell',true); Reg.CloseKey; Reg.OpenKey('Directory\shell\'+Name,true); Reg.WriteString('',Title);//optional Reg.CloseKey; Reg.OpenKey('Directory\shell\'+Name+'\command',true); Reg.WriteString('',Adress); Reg.CloseKey; reg.free; del.enabled:=true; add.Enabled:=false; end; Dieser Code hier:
Code:
bewirkt das man multiple dateien auswählen kann, wenn ich mehr als eine Datei wähle funktioniert alles bestens, wenn ich nun aber nur eine wähle kommt eine Messagebox das die mit Rechtsklick gewählte Datei nicht gefunden wurde ????Reg.OpenKey('*\shell\'+Name+'\ddeexec\',true); Reg.WriteString('','[open("%1")]'); Reg.CloseKey; der pfad zur datei wird aber wie programmiert in meine Listbox eingetragen... es funktioniert also alles ausser das dann dieser hinweis kommt, weiß jemand woran das liegt ? |
Re: Problem mit Dateiaufruf per paramstr
hat niemand eine Idee ?
|
Re: Problem mit Dateiaufruf per paramstr
ich habe das mal mit dem deexec probiert, das klappt nicht bei mir öffnet er die exe trotzdem mehrmals und bringt zusätzlich nich merhmals eine Fehlermeldung. Natürlich habe ich keine DDE Komponente drauf :)
Gruß hagen |
Re: Problem mit Dateiaufruf per paramstr
man man man das ist doch zum verrückt werden :evil:
es gibt hunderte von programmen die mehr als eine datei mit einem rechtsklick öffnen können das kann doch nich so schwer sein... zum beispiel beim dateien löschen kann man doch mehr als eine gleichzeitig markeiren und alle löschen... hab hier mal nen link zum source von eraser einem Delete Tool ![]() der kann mehr als eine markierte datei auf einmal lsöchen vielleicht kann damit jemand was anfangen und da mal reinschauen.. is aber C glaube ich ... |
Re: Problem mit Dateiaufruf per paramstr
Also mit dem DDE ist das ziemlich einfach.
Als erstes in dein Formular eine TDDEServerConv rein, bei dieser den Namen auf "System" un das Event OnexecuteMacro etwa so:
Delphi-Quellcode:
Nun noch die Registry.
procedure TForm1.SystemExecuteMacro(Sender: TObject; Msg: TStrings);
begin ListBox1.Items.AddStrings(Msg); end; Zitat:
Über'n Explorer im Menu\Extras\Ordneroptionen...\Dateitypen kann man dies auch komfortabel editieren. Ich schätze mal das wars dann :) Gruß Hagen |
Re: Problem mit Dateiaufruf per paramstr
ich muss dich leider enttäuschen *gg*...
ich will ein programm bauen wie diesen eraser der dateien löscht, dazu ist es wie bereits beschrieben nötig alle möglichen dateiarten *.rtf oder *.doc oder *.txt zu markieren und dieses werte also den pfad der datei auf der platte (den ich ja zum löschen einer datei brauche) an meine exe zu senden... es nützt mir also nichts wenn ich nur dateien die eine bestimmte endung haben damit öffnen kann ... sorry :) |
Re: Problem mit Dateiaufruf per paramstr
oder ich trenne das auf in 2 exe dateien ?
den klick auf eine datei lenke ich auf die umleitung.exe die prüft ob die delete.exe schon gestartet ist, wenn nicht wird sie gestartet... danach sendet die umleitung.exe die daten paramstr an die delete.exe und beendet sich selbst... dbaei wäre es egal wie oft die umletiung exe gestartet wird da sie eh unsichtbar ist und sich selbst beendet... ist doch besser so oder ? |
Re: Problem mit Dateiaufruf per paramstr
ok ich hab die DDE Kompos drauf, hab auch schon einbeispiel gefunden dazu
![]() nur leider funktioniert es bei einem klick nur einmal und das mit der rückmeldung vom server geht nich so wie es da steht... der text aus dem memo im client wird aber korrekt an den server gesendet... hat jemand noch ein beispiel oder ähnliches dazu ? |
Re: Problem mit Dateiaufruf per paramstr
Liste der Anhänge anzeigen (Anzahl: 1)
ich verstehe dein Problem nicht. Nun habe ich mal in hKey_Classes_Root den * Eintrag für alle Dateien erweitert
Zitat:
Mit nachfolgender Registry habe ich sogar für Verzeichnise einen neuen Eintrag im Contextmenu der "Suchen" heist. Wird er angeklickt so wird korrekterweise der Project11.exe der Verzeichnisname gesendet. Zitat:
Gruß Hagen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:41 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