Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi rechtsklick-neue *** Datei (https://www.delphipraxis.net/30251-rechtsklick-neue-%2A%2A%2A-datei.html)

Nicodius 22. Sep 2004 16:08


rechtsklick-neue *** Datei
 
ich weiß nicht wie das nun geht


zb ordner/dekstop im Kontextmenü soll dann bei neu- stehen

"Neue EHT-Projektdatei"

wie mach ich das?

danke

Nicodius

Dax 22. Sep 2004 16:23

Re: rechtsklick-neue *** Datei
 
Mal am Beispiel von einer Text-Datei:
Zitat:

-.txt
|+...
|-ShellNew
Inhalt des SChlüssels "ShellNew":
Zitat:

Name Typ Wert
(Standard) REG_SZ (Wert nicht gesetzt)
NullFile REG_SZ
Vielleicht hilft dir das....

Nicodius 22. Sep 2004 17:31

Re: rechtsklick-neue *** Datei
 
ne ehrlich gesagt nicht :stupid: wie funktioniert das jetzt :| #


danke

Aenogym 22. Sep 2004 17:38

Re: rechtsklick-neue *** Datei
 
hi nico,

er meint damit die registry. genauergesagt die HKEY_CLASSES_ROOT. dort sind alle deinem system bekannten dateiendungen registriert. einfach mal einen neuen schlüssel amchen:

HKCR\*.EHT\ShellNew\

dort musst du was bestimmtes eintragen. schau am besten mal bei den anderen bereits registrierten endungen.

Aenogym

MisterNiceGuy 22. Sep 2004 18:00

Re: rechtsklick-neue *** Datei
 
Außerdem ist es möglich mit Tools wie TWEAKUI neue Datentypen hinzuzufügen.

Hoffe du meintest das! :D

Nicodius 23. Sep 2004 16:41

Re: rechtsklick-neue *** Datei
 
aber das soll auf allen rechnern automatisch passieren wenn man das programm startet sol ldas ganze geschehen


bitte gebt mir den ganzen code(hasse die registry(INIS wieder her :stupid: ))

Meflin 23. Sep 2004 16:42

Re: rechtsklick-neue *** Datei
 
Zitat:

Zitat von Nicodius
aber das soll auf allen rechnern automatisch passieren wenn man das programm startet sol ldas ganze geschehen


bitte gebt mir den ganzen code(hasse die registry(INIS wieder her :stupid: ))

siehe code lib. da findest du was. das müsstest du nur noch minimal (wenn überhaupt) abwandeln. ist von mir...

Nicodius 23. Sep 2004 16:46

Re: rechtsklick-neue *** Datei
 
thx erstmal :)

Nicodius 23. Sep 2004 16:50

Re: rechtsklick-neue *** Datei
 
damiit kenn ich mich icht aus


....


das genügt nicht die dateiendung zu registrieren ;) das hab ich ja schon

".eht"

.... aber ich brauche bei einem rechtsklick unter dem menüpunkt "neu >" einen Eintrag für EH- Projektdatei


danke ;)

Meflin 23. Sep 2004 16:52

Re: rechtsklick-neue *** Datei
 
ja. dann übergist du der funktion als extVerb ShellNew und gut is!

Nicodius 23. Sep 2004 16:55

Re: rechtsklick-neue *** Datei
 
extVerb sagt mir leider nichts :? ich kenn mich WIRKLICH fast überhaupt nicht mit der registry aus und will das auch gar nicht zu verstehen wissen ;)


bitte beschreib wo ich das reinsetzen muss ;)


:zwinker:


mfg

Nicodus

Meflin 23. Sep 2004 16:56

Re: rechtsklick-neue *** Datei
 
Zitat:

Zitat von Nicodius
extVerb sagt mir leider nichts :? ich kenn mich WIRKLICH fast überhaupt nicht mit der registry aus und will das auch gar nicht zu verstehen wissen ;)


bitte beschreib wo ich das reinsetzen muss ;)


:zwinker:


mfg

Nicodus

mensch. du kopierst die funktion aus der codelib in dein projekt. das schaffst du? dann rufst du die funtkion auf. mit den normalen parametern und zusätzlich definierst du auch den letzten parameter, der standardmäßig auf Open ist aber den man auch ändern kann...

Nicodius 23. Sep 2004 16:58

Re: rechtsklick-neue *** Datei
 
Zitat:

Zitat von Meflin
mensch. du kopierst die funktion aus der codelib in dein projekt. das schaffst du? dann rufst du die funtkion auf. mit den normalen parametern und zusätzlich definierst du auch den letzten parameter, der standardmäßig auf Open ist aber den man auch ändern kann...


und den änder ich auf "extVerb " ?

scp 23. Sep 2004 17:02

Re: rechtsklick-neue *** Datei
 
Es geht auch einfacher, die Lösung heisst AddNewFileSupport(), ist sogar schon im Beispielprogramm drin:
Delphi-Quellcode:
uses
  ftypesAPI;
//...
              ftr := TFileTypeRegistration.Create;
              if(ftr <> nil) then
              try
                //...
                  if(ftr.RegisterType('.foo','FooFile','FOO-File')) then
                  begin
                    ftr.AddHandler('open','notepad.exe "%1"','Öffnen');
                    ftr.AddHandler('print','notepad.exe /p "%1"');
                    ftr.SetDefaultHandler;
                    ftr.AddNewFileSupport('.foo');
                  end;
                //...

FlorianK 23. Sep 2004 17:07

Re: rechtsklick-neue *** Datei
 
Kurz und schmerzlos: ;-)
Siehe hier!

Florian K.

Nicodius 23. Sep 2004 17:09

Re: rechtsklick-neue *** Datei
 
DANKE!!! :-D :thumb:

scp 23. Sep 2004 17:10

Re: rechtsklick-neue *** Datei
 
Genau darauf wollte ich hinaus.
Wenn man nämlich die andere Funktion mit diesem extVerb benutzt, kommt ja sowas dabei raus:
Delphi-Quellcode:
\Shell\ShellNew\Command
und das dürfte nicht richtig sein.

Meflin 23. Sep 2004 17:13

Re: rechtsklick-neue *** Datei
 
Zitat:

Zitat von scp
Genau darauf wollte ich hinaus.
Wenn man nämlich die andere Funktion mit diesem extVerb benutzt, kommt ja sowas dabei raus:
Delphi-Quellcode:
\Shell\ShellNew\Command
und das dürfte nicht richtig sein.

nunja das weis ich nicht. aber bei print etc gehörts doch auch so? nunja egal, primär ist sie ja nur zum registrieren von typen da...

titus 23. Sep 2004 17:33

Re: rechtsklick-neue *** Datei
 
Ich hab leider z.Z. kein laufendes Delphi (geht erstmal nicht), kennt jemand ein Programm oder so, dass das macht? (Mit TuneUp gibts da zwar was, das funktioniert aber nicht!)
Es kommt nicht in Frage mit dem Quelltext in Delphi zu kopieren (leider :().

mfG, LCD

Neuni 23. Sep 2004 18:10

Re: rechtsklick-neue *** Datei
 
Wo wir schon mal bei dem Thema sind...ich denke mal das passt hier hin.

Es gibt ja Rechtsklick-->Neu-->Irgendwas
Wie bekomm ich da jetzt z.B. Rechtsklick-->Neu-->PHP-Datei hin?

.php steht ja schon in der registry, was muss ich da jetzt noch machen, damit das so geht?

alcaeus 23. Sep 2004 18:18

Re: rechtsklick-neue *** Datei
 
Hi Neuni,

wenn du XP hast, dann könntest du z.B. das TweakUI Powertoy verwenden. Genauere Angaben kann ich dir im Moment aber nicht machen, ich weiß nur dass es damit funktioniert.
Alternativ kannst du dir auch eine Delphi-App schreiben die das für dich erledigt.

Greetz
alcaeus

scp 23. Sep 2004 23:18

Re: rechtsklick-neue *** Datei
 
oder eine kleine .reg-Datei anlegen:
Code:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.foo\ShellNew]
"NullFile"=""
man braucht jetzt nur noch .foo z.B. in .php ändern, .reg speichern, Doppelklick auf .reg-Datei und mit "Ja" bestätigen.

PS: Hat übrigens keiner mit TFileTypeRegistration Probleme? Ich musste (unter WinXP SP2 Home) folgendes in RegWriteSubKeyVal() ändern, damit es klappt:
Vorher:
Delphi-Quellcode:
  if(RegCreateKeyEx(parent, pchar(SubKeyName), 0, nil, KEY_READ or KEY_WRITE,
    0, nil, tmp, nil) = ERROR_SUCCESS) then
Nachher:
Delphi-Quellcode:
  if(RegCreateKeyEx(parent, pchar(SubKeyName), 0, nil, REG_OPTION_NON_VOLATILE,
    KEY_READ or KEY_WRITE, nil, tmp, nil) = ERROR_SUCCESS) then
Die Zugriffsparamter waren um einen Paramter verrutscht angegeben und deshalb gabs nur ERROR_INVALID_PARAMETER, jetzt gehts.

MathiasSimmack 24. Sep 2004 05:39

Re: rechtsklick-neue *** Datei
 
Zitat:

Zitat von scp
PS: Hat übrigens keiner mit TFileTypeRegistration Probleme? Ich musste (unter WinXP SP2 Home) folgendes in RegWriteSubKeyVal() ändern, damit es klappt: [...]

Ja, sorry. :oops: Du musst im Prinzip nur "KEY_READ or KEY_WRITE" und die darauf folgende Null vertauschen, dann stimmt´s auch. REG_OPTION_NON_VOLATILE ist Standard und muss daher nicht unbedingt angegeben werden.

Ich sollte mir vllt. doch mal wieder Delphi installieren.


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