Einzelnen Beitrag anzeigen

Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#4

AW: TService & Windows7: pdf-/txt-Datei drucken

  Alt 11. Mai 2011, 11:24
@rollstuhlfahrer: Das versucht er ja ... Also, er versucht über printto das Standardprogramm für PDFs zu starten und dieses soll dann drucken.
Ich vermute einfach mal, daß eventuell sogar der Druckertreiber vorhanden ist, aber im Systemkonto sind andere Registry-Pfade verlinkt
und da werden wohl einfach keine Verlinkungen für *.PDF eingetragen sein.
Sowas läßt sich übrigens rausfinden, indem man mal die Rückgabewerte (Result) von MSDN-Library durchsuchenShellExecute prüft.
Das war etwas anders gemeint. Mit "externes Programm" meinte ich einen Einzeiler:

Delphi-Quellcode:
programm TestApp;
uses
  Windows, ShellAPI;
begin
  if ParamCount <> 3 then Exit; // Alternativ eine Warnung ausgeben!

  ExitCode := ShellExecute(0, PChar(ParamStr(1)), PChar(ParamStr(2)), PChar(ParamStr(3)), nil, SW_SHOW);
end;
und das dann Aufrufen mit
Code:
TestApp.exe "printto" "Dokument" "printerInfo"
.

Aus dem ExitCode bekommt man immerhin mit, ob ein Fehler vorlag, leider nicht, welcher.


Den Thread, in dem gezeigt wird, wie das geht, um aus einem Dienst ein Programm im Benutzerkontext zu starten ist übrigens der hier (mit Admin-Rechten) (ohne LinkedToken hat der Kind-Prozess keine Admin-Rechte), alternativ kannst du dir das auch selbst bauen (Bauanleitung).

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat