ShellExecute auf WTS 2003 will nicht
-
Auf Windows XP klappt der folgende Aufruf aus dem Temp-Ordner.
Unter Windows 2003 Terminalserver passiert aber absolut nix. Obwohl
die PDF-Datei in den Temp-Ordner geschrieben wurde und sich
manuell auch öffnen lässt(!):ShellExecute(NULL, "open", tmp_win_path, NULL, NULL, SW_SHOW);Kann sich das einer erklären?
-
Muss ich jetzt etwa WinExec nehmen

Ich dachte das ist veraltet. In der MSDN steht aber explizit Windows 2003
dafür drin.
-
Myki schrieb:
Unter Windows 2003 Terminalserver passiert aber absolut nix.
Grundlagen der Fehlersuche, Lektion 1: Rückgabewert prüfen.
-
Als Rückgabewert erhalte ich SE_ERR_NOASSOC auf Win 2003!!
Bei mir unter XP liefert es 42.Laut MSDN ist alles über 32 ok

Gebe ich den Pfad den mein Programm aufruft exakt so auch in Win 2003 ein,
wird das PDF-Dokument auch geöffnet! Nur über ShellExecute will es ganz einfach nicht gehen...
-
Ich bringe das Topic mal wieder nach oben, da sich ja offenbar in Windows 2003
grundsätzlich etwas im Zusammenspiel mit ShellExecute/ShellExecuteEx geändert hat.Ist das bislang noch niemandem aufgefallen, oder habe ich ein unglückliches
Update von Microsoft mit installiert
Es funktioniert übrigens auch bei div. anderen kommerziellen Programmen
nicht mehr richtig (z.B. FreePDF XP).
-
SE_ERR_NOASSOC:
Ich tippe mal einfach darauf, dass für diese Dateierweiterung keine Programm registriert wurde.
Doppelklicke mal auf die Datei auf dem 2003 Server im Explorer. Du wirst feststellen es geht dort auch nicht.
-
Hallo,
das habe ich vergessen zu schreiben...Die Dateierweiterung ist registriert. Das Öffnen per Hand geht ebenfalls.
Neuregistrierung der Erweiterung brachte ebenfalls kein besseres Ergebnis.
Nach langer Google-Suche ist das Problem momentan weit verbreitet...Eine Lösung hat aber niemand gefunden...zumindest nicht in den Beiträgen die
ich gefunden habe.Sehr sehr komisch!

-
Wo ich das jetzt lese! Meine Anwendung läuft auch nicht mehr richtig unter
Windows 2003 Server, wenn ich ShellExecute aufrufe!
-
1. Bitte kontrolliere in der Registry wie die Applikation registriert ist.
2. Versuch es mal mit NULL als Verb.
3. Verusch es mal mit ShellExecuteEx
-
Hallo Martin,
ich habe alle 3 Varianten auch schon geprüft.
1. ist richtig verankert (Vergleich mit laufendem Win XP)
2. bereits geschehen (keine Veränderung)
3. bereits geschehen (keine Veränderung)4. Directory mit angegeben als Parameter, weil in einem Forum das als mögl. Fehlerquelle genannt wurde.