Hallo,
bitte helft mir bei folgendem Problem.
Per
Delphi-Quellcode:
err := ShellExecute(hh, Pchar('print'), Pchar(paramstr(1)),'', '',SW_HIDE);
if Err <= 32 then Showmessage(ShellExecuteErrMessage(Err));
probiere ich zu drucken.
Auf meinem windows 2000 Prof. und Windows Xp funtkioniert das einwandfrei.
Nur auf einem Windows 2000 Terminalserver mit Citrix funktioniert es nicht !
Bei dem Versuch eine Word-Datei zu drucken, wird Word mit der Datei zwar aufgerufen, aber der Druck startet nicht und Word schliesst sich auch nicht wieder.
Habe bereits mit Regmon und filemon nach Fehlern gesucht, konnte aber so keine finden.
Es funktioniert weder als Benutzer noch als Administrator.
Es wird kein Fehlercode ausgegeben. (also >32).
Habe es mit mit pchar probiert (pchar('print') und ohne ('print').
Sehe mit Regmon das der
DDE Aufruf ausgelesen wird
HKCR\Word.Document.8\Shell\Print\ddeexec\IfExec\(D efault)
([FileOpen(%1")][FilePrint 0][FileExit 2]"), von daher ist also der
DDE-Aufruf wohl aufgerufen ????
Der Drucker ist vorhanden
Ach ja, und drucken mit der rechten Maustaste und dann auf drucken gehen funktioniert auch.
Normalerweise sollte ja der gleiche Aufruf erfolgen, aber bei meinem Aufruf mit shellexecute klappt es nicht.
Das gleiche ist mit shellexecuteEx......
Die Fileassoziations sind auf dem TS aktiviert. (wie gesagt, rechte Maustaste Drucken geht.)
Wäre super, wenn ihr mir helfen könntet. Ich bin echt am verzweifeln, da ich keinerleit Fehlermeldungen bekomme, Word druckt einfach nur nicht per Shellexecute.