![]() |
Aufruf Rundll zur Druckerinstallation
Hallo,
ich kann an der Kommandozeile folgenden Befehl problemlos ausführen:
Code:
Es wird unter 2k/XP ein Druckertreiber installiert.
rundll32.exe printui.dll,PrintUIEntry /if /b "PS Printer" /f %windir%\inf\ntprint.inf /r "FILE:" /m "Apple Color LW 12/660 PS"
Nun habe ich versucht, dass von meinem Delphi Programm aus zu starten, ohne Erfolg: Der Vorgang konnte nicht abgeschlossen werden V1:
Delphi-Quellcode:
V2:
JCL:
ShellExecEx('rundll32.exe', 'printui.dll,PrintUIEntry /if /b "PS Printer" /f %windir%\inf\ntprint.inf /r "FILE:" /m "Apple Color LW 12/660 PS"','', SW_SHOWNORMAL);
Delphi-Quellcode:
V3: Mit RunProcess, basierend auf CreateProcess
Delphi WinApi:
ShellExecute(0, 'open', 'rundll32.exe', 'printui.dll,PrintUIEntry /if /b "PS Printer" /f %windir%\inf\ntprint.inf /r "FILE:" /m "Apple Color LW 12/660 PS"', nil, 0); Was könnte ich falsch machen? |
Re: Aufruf Rundll zur Druckerinstallation
Vermutlich musst du dich um die Expansion der Environment-Variablen selbst kümmern, da sich sonst niemand zuständig fühlt.
Grüße vom marabu |
Re: Aufruf Rundll zur Druckerinstallation
Zur Expansion der Environmentvariablen enthaelt die JCL einige Funktionen.
Warum machst du es so umstaendlich? Mit LoadLibrary printui.dll laden und dann die Funktion mit GetProcAddress holen und aufrufen. Es fehlt nur noch die Deklaration von PrintUIEntry. |
Re: Aufruf Rundll zur Druckerinstallation
Das mit der Auswertung von %windir% scheint in der Tat der Knackpunkt zu sein. Danke!
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz