Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Per Script neuen lokalen Druckeranschluss hinzufügen (https://www.delphipraxis.net/126928-per-script-neuen-lokalen-druckeranschluss-hinzufuegen.html)

CVo 5. Jan 2009 07:32


Per Script neuen lokalen Druckeranschluss hinzufügen
 
Hallo

ich möchte gerne beim Start eines Programms einen Drucker-Anschluss auf eine lokale Datei Bsp. C:\Bericht.ps installieren. Auf diesen dann mit printui.dll,PrintUIEntry einen Drucker installieren. Das mit printui.dll,PrintUIEntry funktioniert wunderbar, doch den lokalen Anschluss bekomme ich nicht hin. Probiert habe ich schon folgendes

Delphi-Quellcode:
ShellExecute(0, 'open', 'rundll32.exe', 'cscript %windir%\prnport.vbs -d -r C:\Bericht.ps -h "local port" -o raw -n 9102"',nil,0);
doch das fügt lediglich einen TCP/IP-Anschluss hinzu. Kennt jemand einen Möglichkeit, wie man den Befehl ummodeln kann?

Schöne Grüße
Christian

nahpets 5. Jan 2009 13:37

Re: Per Script neuen lokalen Druckeranschluss hinzufügen
 
Hallo,

muss das nicht
Delphi-Quellcode:
cscript %windir%\prnport.vbs -a -r C:\Bericht.ps -h "local port" -o raw -n 9102"
heissen?

-d löscht doch den angegebenen Anschluss.

Ohne es ausprobiert zu haben tippe ich mal auf:
Delphi-Quellcode:
ShellExecute(0, 'open', 'csript.exe', '%windir%\prnport.vbs -a -r C:\Bericht.ps -h "local port" -o raw -n 9102"',nil,0);
Das %windir% solltest Du eventuell durch den "richtigen" Pfad ersetzen, weiß nicht, ob in diesem Zusammenhang Umgebungsvariabeln richtig funktionieren.

Achso: %windir% zeigt auf des Windowsverzeichnis, habe auf meinen Rechnern das Script prnport.vbs überall in system32 gefunden, es könnte also auch sein, dass Deine Version richtig ist, das Script nur nicht gefunden wird.

CVo 5. Jan 2009 15:50

Re: Per Script neuen lokalen Druckeranschluss hinzufügen?
 
Vielen Dank für die Antwort,

ich hab den verbesserten Code genommen, er hat auch einen Anschluss erstellt, doch leider nur einen TCP-/IP-Anschluss - trotz des -h "local port". Das -d war mir nur weg. der Testerei mit in den Code gerutscht.
Aber trotz vielem hin und her bekomme ich diesen Anschluss einfach nicht als "lokal Port".
Kennt denn jemand vielleicht eine andere Variante oder muss sowas über die Shell gelöst werden?

Schöne Grüße
Christian


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz