AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kontextmenü-Erweiterungen

Ein Thema von xineohp · begonnen am 5. Nov 2004 · letzter Beitrag vom 6. Nov 2004
Antwort Antwort
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#1

Kontextmenü-Erweiterungen

  Alt 5. Nov 2004, 20:11
moin,

ich hätte da zum obengenannten Thema ein paar Unklarheiten die ich gern beseitigen würde

Zu dem Thema gibts hier zwar schon einige Threads, aber irgendwie bin ich aus denen nicht 100%ig schlau geworden... Daher fände ich es ganz nett wenn mir einer von den Herrschaften, die sich anscheinend damit aus kennen , folgende Fragen beantworten könnte:

1.
Zunächst fände ich es ganz nett wenn mir jemand erklären könnte wie Windows diesen ganzen Kram eigentlich verwaltet, sprich was ist der Unterschied zwischen einer Dateierweiterung und einer internen Dateierweiterung/Schlüssel bzw. wie funktioniert das mit dem "Verlinken" etc.

2.
Dann scheint es da verschiedene Ansatzmöglichkeiten zu geben; was ist der Unterschied zwischen einer Erweiterung des Kontextmenüs, per Registry und einer Shell-Extention bzw. was ist letzteres eigentlich genau.

3.
Hier noch das akute Ziel/Problem:
Ich möchte verschiedene Dateiendungen mit einem Programm so verknüpfen, dass sie per Doppelklick mit diesem Programm geöffnet werden. (mehrere Dateiendungen, ein Programm)
Zusätzlich hätte ich gerne einen Kontexteintrag mit Untermenü, so dass man das Programm beispielsweise mit verschiedenen Parametern starten kann. (Das Kontextmenü soll natürlich nur bei bestimmten Dateiendungen angezeigt werden)

4.
Und zu guter letzt suche ich noch ein Programm um das vorhandene Kontextmenü "aufzuräumen"

Vielen Dank schon mal für die Mühen

MfG
Peter Enenkel
blubb
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#2

Re: Kontextmenü-Erweiterungen

  Alt 5. Nov 2004, 20:59
Was ich beantworten kann (und will ), beantworte ich --

Zitat von xineohp:
2.
Dann scheint es da verschiedene Ansatzmöglichkeiten zu geben; was ist der Unterschied zwischen einer Erweiterung des Kontextmenüs, per Registry und einer Shell-Extention bzw. was ist letzteres eigentlich genau.
Der einzige Unterschied ist, dass du beim direkten Registryeingriff gleich dein gewünschtes Programm inkl. evtl. erforderlicher Parameter einträgst. Die Shell-Extension dagegen wird quasi über einen Umweg im System registriert, taucht selbst aber auch als GUID in der Registry auf. So gesprochen: Weg #1 ist einfacher, Weg #2 bietet aber einige andere, vllt. auch bessere Möglichkeiten.

Zitat:
3.
Hier noch das akute Ziel/Problem:
Ich möchte verschiedene Dateiendungen mit einem Programm so verknüpfen, dass sie per Doppelklick mit diesem Programm geöffnet werden. (mehrere Dateiendungen, ein Programm)
Idealerweise mit Weg #1 realisiert; sprich: direktes Eintragen in die Registry. Damit sie per Doppelklick starten, musst du deinen Registryeintrag unter "shell" als Standard eintragen. Das würde ich aber nur auf Userwunsch machen, denn ich persönlich hätte was dagegen, wenn irgendein Programm die Standardaktion von sich aus ändert.

Zitat:
Zusätzlich hätte ich gerne einen Kontexteintrag mit Untermenü, so dass man das Programm beispielsweise mit verschiedenen Parametern starten kann. (Das Kontextmenü soll natürlich nur bei bestimmten Dateiendungen angezeigt werden)
Und das wäre ein Fall für die Shell-Extension.

Zitat:
4.
Und zu guter letzt suche ich noch ein Programm um das vorhandene Kontextmenü "aufzuräumen"
Schreib selbst eins, das evtl. auch vorher die Originaleinträge sichert. Oder wenn du keine Originaleinträge überschreibst, sondern nur deine eigenen ergänzt, dann reicht schon ein gutes Setup mit Uninstaller.
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Kontextmenü-Erweiterungen

  Alt 5. Nov 2004, 21:08
Herzlichen Dank.

Zitat von MathiasSimmack:
Und das wäre ein Fall für die Shell-Extension.
womit sich natürlich die Frage stellt wie das zu realisieren ist, insbesondere das Untermenü.
(Ich hab mir auch schon Luckies Exifreader angeschaut, bin aber nicht so recht schlau draus geworden )

Für Weg #1 hab ich das von dir gefunden.
Peter Enenkel
blubb
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#4

Re: Kontextmenü-Erweiterungen

  Alt 5. Nov 2004, 21:46
Die Shell-Extension von Luckie ist schon mal eine gute Basis. Luckie hat zwar "nur" ein normales Menü drin, und ich müsste auch erst mal nachschauen, wie man mehrere Menüeinträge (speziell dann noch ein untergeordnetes) macht. AFAIK war ein Beispiel im Platform SDK drin (wenn auch in C).

Du kannst Luckies DLL als Grundlage nehmen, dann ändere aber unbedingt die GUID, sonst wird dir Luckie auf die Finger klopfen.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Kontextmenü-Erweiterungen

  Alt 6. Nov 2004, 13:20
Wegen der Erweiterung des Menüs: Kuck dir einfach in meinen "Win32 API Tutorials für Delphi" das Kapitel zu den Menüs an. Da du keine VCL zur Verfügung hast, musst du es selber "von Hand" machen.

Und das mit der GUID: Hör auf Matze, sonst gibt es was auf die kleinen Programmierer-Patschehändchen. Die GUID identifiziert meine Shell-Erweiterung eindeutig, nimmst du jetzt die selbe GUID dürfte es auf Systemen mit dem ExifReader und deinem Programm Probleme geben.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#6

Re: Kontextmenü-Erweiterungen

  Alt 6. Nov 2004, 15:41
danke für den Tip.

PS.: Erstens sind meine Hände nicht grade klein und zweitens ist mir das Prinzip einer GUID durchaus bekannt
Peter Enenkel
blubb
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:03 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