Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Kontextmenü führt falsche Programme aus (https://www.delphipraxis.net/158120-kontextmenue-fuehrt-falsche-programme-aus.html)

nici 6. Feb 2011 20:49

Kontextmenü führt falsche Programme aus
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,

und zwar hab ich XP, Sp3 und Delphi 3 und 5.

Jetzt ist folgendes Problem:
Ich möchte gerne mein Programm vom Kontextmenü aufrufen lassen.
Hierzu haben ich
"Öffne mit Delphi-Projekt"
[DP]REGEDIT4

[HKEY_CLASSES_ROOT\*\shell\Öffne mit Delphi-Projekt]
@="&Öffne mit Delphi-Projekt 1"

[HKEY_CLASSES_ROOT\*\shell\Öffne mit Delphi-Projekt\Command]
@="C:\\TEST\\Dummyprojekt\\Dummy.exe %1"
[/DP]
in der Registry eingetragen.

Eigentlich nichts ungewöhnliches.
Und es funktioniert auch bei verschiedenen Dateien (.jpg, .TIF,.html, .doc, usw.).

Nun stelle ich aber bei EXE-Dateien in meinem Downloadordner fest, daß wenn ich darüber das Kontextmenü öffne, und "Öffne mit Delphi-Projekt"(mein o.g. Dummy-Programm) klicke, welches eigentlich nur den Pfad der Datei in meinem Programm ausgeben sollte - dieses offensichtlich gestartet wird.
Windows fragt mich, mit einer Sicherheitswarnung und ob ich die Software ausführen möchte.
Offensichtlich tritt dieses Verhalten auch nur bei SETUP-Dateien auf.
Mit normalen, selbstgeschriebenen Programmen als Opfer habe ich das nicht feststellen können.

Also es dürfte eigentlich NUR mein Programm ausgeführt werden und an diesen der Pfad übergeben werden. Aber vermutlich wird nur das andere Programm ausgeführt - und nicht meins.

Das Programm habe ich angehängt, der Registry Code steht ja oben.

außerdem habe ich einen Screen-VIDEO-FILM zum Problem

http://nici.square7.ch/delphi/kontex/

Kann mir jemand das Phänomen erklären?
und eine Abhilfe empfehlen?

Danke

Deep-Sea 7. Feb 2011 08:00

AW: Kontextmenü führt falsche Programme aus
 
Zitat:

Zitat von nici (Beitrag 1079923)
@="C:\\TEST\\Dummyprojekt\\Dummy.exe %1"

Versuch mal, die Hochkommas so zu setzen: "Pfad zu deinem Programm" "%1"

nici 8. Feb 2011 21:02

AW: Kontextmenü führt falsche Programme aus
 
danke, aber das macht leider auch keinen Unterschied.

ganz seltsam find ich das.

himitsu 8. Feb 2011 22:41

AW: Kontextmenü führt falsche Programme aus
 
Zitat:

Zitat von nici (Beitrag 1079923)
dieses offensichtlich gestartet wird.
Windows fragt mich, mit einer Sicherheitswarnung und ob ich die Software ausführen möchte.

Also es dürfte eigentlich NUR mein Programm ausgeführt werden und an diesen der Pfad übergeben werden. Aber vermutlich wird nur das andere Programm ausgeführt - und nicht meins.

Und was wird tatsächlich gemacht?
> Also, was passiert nun, wenn du mal auf Ausführen klickst?

Diese Meldung wird über einen versteckten ADS erzeugt, welchen "gute/nette" Browser erstellen, wenn sie eine runtergeladene Datei abspeichern.
Windows prüft nun beim Zugriff auf diese Datei, ob sie soeinen ADS enthält und bringt dann diese Meldung hervor ... eventuell wird ja bei dir immer gefragt, selbst wenn die entsprechende Datei garnicht ausgeführt wird. :gruebel:

nici 8. Feb 2011 23:05

AW: Kontextmenü führt falsche Programme aus
 
Liste der Anhänge anzeigen (Anzahl: 1)
mhh, ok, - gerade getestet. Das stimmt, da wird nur ein Hinweisfenster angezeigt und beim "Ausführen" wird mein Programm gestartet und der Pfad dorthin weitergereicht.
Bei anderen Programmen (z.B: Fastcopy passiert dies nicht)

Kann ich das irgendwie unterdrücken, oder mein Programm anders im
Kontextmenü unterbringen (vielleicht tiefer? vielleicht unter dem ersten Strich ?) - ist ja sonst kein Zustand :D

Danke

WM_CLOSE 9. Feb 2011 06:39

AW: Kontextmenü führt falsche Programme aus
 
Du könntest dir mal die ShellExtentions von 7Zip ansehen, Es ist/sind DLL(s).
aber die trägt sich an gefühlten 1Mio Stellen in der Registry ein.
Ist aber auch nicht so trivial wie der eine Registryeintrag.

:arrow:http://sourceforge.net/projects/sevenzip/

himitsu 9. Feb 2011 10:26

AW: Kontextmenü führt falsche Programme aus
 
Jetzt könnte es passieren, daß seine 32-Bit-Delphi-DLL (welche er erstellen muß) in einem 64-Bit-Windows-Explorer nicht geladen werden kann. :stupid:


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