Datei wird ueber DDE nicht geoeffnet

14/09/2007 - 14:34 von Wilfried Hennings | Report spam
Hallo,

System ist Windows XP Pro SP2 mit allen verfügbaren Updates.

Ich will Plaintext-Dateien im Editor PFE öffnen (kann mehrere
Dateifenster in einer Programminstanz anzeigen).
Filetyp .txt ist mit PFE verknüpft (Registry-Eintràge siehe weiter
unten), d.h. im Windows Explorer hat das Kontextmenu (rechtsclick) für
den Filetyp .txt den zusàtzlichen Eintrag "PFE".
Rechtsclick auf eine Datei im Windows-Explorer und dann auf "PFE":

Wenn PFE nicht làuft, wird PFE gestartet und die Datei wird geöffnet.
Das funktioniert immer.

Wenn PFE schon làuft, soll die Datei via DDE geöffnet werden.

Auf einem PC funktioniert das wie es soll.

Aber auf einem anderen PC mit den selben Einstellungen für Filetyp .txt
wird mit DDE zwar das PFE-Fenster in den Vordergrund geholt, aber die
Datei nicht geöffnet.

Die Registry-Eintràge sehen so aus (und damit funktioniert es auf dem
einen PC ja auch):

[HKEY_CLASSES_ROOT\txtfile\shell]
@=""

[HKEY_CLASSES_ROOT\txtfile\shell\open]

[HKEY_CLASSES_ROOT\txtfile\shell\open\command]
@="%SystemRoot%\\system32\\NOTEPAD.EXE %1"
(Dies wird in regedit angezeigt, in der exportierten Datei stehen
Hexadezimal-Daten)

[HKEY_CLASSES_ROOT\txtfile\shell\pfe]
@="PFE"

[HKEY_CLASSES_ROOT\txtfile\shell\pfe\command]
@="C:\\Programme\\PFE\\PFE32.EXE \"%1\""

[HKEY_CLASSES_ROOT\txtfile\shell\pfe\ddeexec]
@="[FileOpen(\"%1\")]"

[HKEY_CLASSES_ROOT\txtfile\shell\pfe\ddeexec\Application]
@="PFE32"

[HKEY_CLASSES_ROOT\txtfile\shell\pfe\ddeexec\Topic]
@="Editor"


Auf dem PC, der das Problem hat, gibt es einen anderen Filetyp (.tex),
der mit den gleichen Einstellungen mit PFE verknüpft ist, aber über die
ProgID "tex_auto_file".
Damit funktioniert DDE!

Ich habe daher eine neue ProgID "txt_auto_file" angelegt mit den selben
Einstellungen wie "tex_auto_file" und den Filetyp ".txt" mit
"txt_auto_file" verknüpft statt mit "txtfile".
Aber auch hiermit funktioniert DDE nicht!
Warum funktioniert DDE mit tex_auto_file aber nicht mit txt_auto_file?

Natürlich könnte ich DDE deaktivieren, aber dann wird bei schon
laufendem PFE zwar die Datei in PFE geöffnet, aber das PFE-Fenster nicht
in den Vordergrund geholt. Das macht daher einen zusàtzlichen Click in
die Taskleiste erforderlich.


Wilfried Hennings
whiskey hotel unterstrich november golf at golf mike xray punkt delta echo
 

Lesen sie die antworten

#1 Wilfried Hennings
18/09/2007 - 15:05 | Warnen spam
Hallo,
ich habe jetzt herausgefunden, warum es manchmal funktioniert und
manchmal nicht:
Wenn die volle Datei-ID (Pfad + Dateiname) lànger ist als 50 Zeichen,
funktioniert es nicht.
Verkürzt man [FileOpen("%1")] auf [FileOpen(%1)], geht es bis zu einer
Datei-ID-Lànge von 52 Zeichen.

Frage: Ist das eine Begrenzung von Windows oder vom DDE Server (PFE32)?

Wilfried Hennings wrote:

System ist Windows XP Pro SP2 mit allen verfügbaren Updates.

Ich will Plaintext-Dateien im Editor PFE öffnen (kann mehrere
Dateifenster in einer Programminstanz anzeigen).
Filetyp .txt ist mit PFE verknüpft (Registry-Eintràge siehe weiter
unten), d.h. im Windows Explorer hat das Kontextmenu (rechtsclick) für
den Filetyp .txt den zusàtzlichen Eintrag "PFE".
Rechtsclick auf eine Datei im Windows-Explorer und dann auf "PFE":

Wenn PFE nicht làuft, wird PFE gestartet und die Datei wird geöffnet.
Das funktioniert immer.

Wenn PFE schon làuft, soll die Datei via DDE geöffnet werden.

Auf einem PC funktioniert das wie es soll.

Aber auf einem anderen PC mit den selben Einstellungen für Filetyp .txt
wird mit DDE zwar das PFE-Fenster in den Vordergrund geholt, aber die
Datei nicht geöffnet.

Die Registry-Eintràge sehen so aus (und damit funktioniert es auf dem
einen PC ja auch):

[HKEY_CLASSES_ROOT\txtfile\shell]
@=""

[HKEY_CLASSES_ROOT\txtfile\shell\open]

[HKEY_CLASSES_ROOT\txtfile\shell\open\command]
@="%SystemRoot%\\system32\\NOTEPAD.EXE %1"
(Dies wird in regedit angezeigt, in der exportierten Datei stehen
Hexadezimal-Daten)

[HKEY_CLASSES_ROOT\txtfile\shell\pfe]
@="PFE"

[HKEY_CLASSES_ROOT\txtfile\shell\pfe\command]
@="C:\\Programme\\PFE\\PFE32.EXE \"%1\""

[HKEY_CLASSES_ROOT\txtfile\shell\pfe\ddeexec]
@="[FileOpen(\"%1\")]"

[HKEY_CLASSES_ROOT\txtfile\shell\pfe\ddeexec\Application]
@="PFE32"

[HKEY_CLASSES_ROOT\txtfile\shell\pfe\ddeexec\Topic]
@="Editor"


Auf dem PC, der das Problem hat, gibt es einen anderen Filetyp (.tex),
der mit den gleichen Einstellungen mit PFE verknüpft ist, aber über die
ProgID "tex_auto_file".
Damit funktioniert DDE!

Ich habe daher eine neue ProgID "txt_auto_file" angelegt mit den selben
Einstellungen wie "tex_auto_file" und den Filetyp ".txt" mit
"txt_auto_file" verknüpft statt mit "txtfile".
Aber auch hiermit funktioniert DDE nicht!
Warum funktioniert DDE mit tex_auto_file aber nicht mit txt_auto_file?

Natürlich könnte ich DDE deaktivieren, aber dann wird bei schon
laufendem PFE zwar die Datei in PFE geöffnet, aber das PFE-Fenster nicht
in den Vordergrund geholt. Das macht daher einen zusàtzlichen Click in
die Taskleiste erforderlich.

Ähnliche fragen