Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Explorer Kontextmenü Eintrag unter Windows 8 -> wie? (https://www.delphipraxis.net/171486-explorer-kontextmenue-eintrag-unter-windows-8-wie.html)

ULIK 8. Nov 2012 14:11

Explorer Kontextmenü Eintrag unter Windows 8 -> wie?
 
Eine Frage zu Windows 8: unter Windows 7 konnte man ja Einträge im Explorer Kontextmenü erstellen, der z.B. bei einem PDF einen neuen Punkt zur Verarbeitung anzeigt. Das ging ja relativ einfach via Registry indem man für den Dateityp unter HKCR einen Schlüssel Shell angelegt hat, der via Command auf eine EXE verweisen hat.
(z.B.: [HKEY_CLASSES_ROOT\.pdf\Shell\-> TESTAPP\command]@="C:\\Users\\DAU\\Downloads\\TestIOHandle.exe") . Wenn schon eine Defaultapp definiert war, dann mußte man das in dem dortigen Eintrag ebenso machen.

Hat man dann auch einem PDF das Kontextmenü geöffnet, war '-> TESTAPP' sichtbar. Das scheint nun unter Windows 8 so nicht mehr zu funktionieren. Wenn der Eintrag erstellt ist, dann ist dieser aber nicht sichtbar. Erst, wenn ich die Anwenungen unter den Programmdefaults für diese Endung registriere, dann erscheint er.

Wie registriert man denn nun korrekt unter Windows 8 solche Erweiterungen? Ist das irgendwo beschrieben?


Danke,
Uli

jaenicke 8. Nov 2012 14:30

AW: Explorer Kontextmenü Eintrag unter Windows 8 -> wie?
 
Vielleicht muss dort Shell\Open\Command ebenfalls existieren? Testen kann ich es nachher mal.

ULIK 8. Nov 2012 15:01

AW: Explorer Kontextmenü Eintrag unter Windows 8 -> wie?
 
Hab's grad mal getestet: das bewirkt leider auch nichts.

Nur um mal den gleichen Ausgangszustand zu haben: ich hab ein frisches W8 System gehabt, dann ist ja der MS Reader gleich mal als Default für PDFs registriert (wenn auch nicht über die Registry für .pdf). Hab ich nur unter .PDF die Shell Einträge auf eine Testanwendung angelegt (die natürlich auch existiert).

himitsu 8. Nov 2012 15:08

AW: Explorer Kontextmenü Eintrag unter Windows 8 -> wie?
 
Zitat:

HKEY_CLASSES_ROOT\.pdf\Shell\
eigentlich war es an dieser Stelle schon immer total falsch platziert. (eventuell hat Microsoft die Beachtung dieses Pfades nun ausgebaut? :stupid: )

in HKEY_CLASSES_ROOT\.pdf steht im Standard-Value (das Ding ohne Namen) der Pfad zu den Eigenschaften

HKEY_CLASSES_ROOT\[hier der Name]\Shell\
und dort rein gehört sowas


Code:
HKEY_CLASSES_ROOT\.pdf
(Standard)=pdffiles

HKEY_CLASSES_ROOT\pdffiles\Shell\



schau mal, ob es dort funktioniert

ULIK 8. Nov 2012 15:35

AW: Explorer Kontextmenü Eintrag unter Windows 8 -> wie?
 
Hilft leider auch nichts. Zumal MS sich dann ja anscheinend selbst nicht an ihre Logik halten würden, denn das Open verb öffnet ja korrekt den MS Reader, obwohl im Original Zustand für .PDF kein Default definiert ist.

himitsu 8. Nov 2012 16:00

AW: Explorer Kontextmenü Eintrag unter Windows 8 -> wie?
 
Wie sieht denn er Eintrag nun genau aus?

Also da im Registryeditor.

ULIK 8. Nov 2012 16:10

AW: Explorer Kontextmenü Eintrag unter Windows 8 -> wie?
 
Hier die Einträge (gegen eine echte Anwendung):

Code:
[HKEY_CLASSES_ROOT\.pdf]
@="PDFAnnotator.Document"

[HKEY_CLASSES_ROOT\.pdf\OpenWithProgids]
"AppX86746z2101ayy2ygv3g96e4eqdf8r99j"=hex(0):

[HKEY_CLASSES_ROOT\.pdf\PersistentHandler]
@="{1AA9BF05-9A97-48c1-BA28-D9DCE795E93C}"
und

Code:
[HKEY_CLASSES_ROOT\PDFAnnotator.Document]
@="-> PDF Annotator"

[HKEY_CLASSES_ROOT\PDFAnnotator.Document\DefaultIcon]
@="C:\\Program Files\\PDF Annotator\\PDFAnnotator.exe,0"

[HKEY_CLASSES_ROOT\PDFAnnotator.Document\Shell]

[HKEY_CLASSES_ROOT\PDFAnnotator.Document\Shell\-> PDF Annotator]

[HKEY_CLASSES_ROOT\PDFAnnotator.Document\Shell\-> PDF Annotator\Command]
@="\"C:\\Program Files\\PDF Annotator\\PDFAnnotator.exe\" \"%1\""

[HKEY_CLASSES_ROOT\PDFAnnotator.Document\Shell\open]

[HKEY_CLASSES_ROOT\PDFAnnotator.Document\Shell\open\Command]
@="\"C:\\Program Files\\PDF Annotator\\PDFAnnotator.exe\" \"%1\""
Sollte also eigentlich alles passen.

MuTzE.Y85 6. Jul 2015 18:11

AW: Explorer Kontextmenü Eintrag unter Windows 8 -> wie?
 
Hi,

ich stehe grad vor dem gleichen Problem.
Hat da schon jemand eine Lösung für?


Problem gelöst. Ich muss unter einem 64-bit Windows natürlich eine 64-bit DLL erstellen damit es klappt :)


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