![]() |
Standardprogramm bei shellexecute (...,'print'...)
Liste der Anhänge anzeigen (Anzahl: 1)
Als Vorgeschichte dient
![]() Aber zum Problem... Über
Delphi-Quellcode:
Das Programm das dafür benutzt wird, ist in Windows definiert (siehe Anhang).
Shellexecute (handle,'print','test.pdf',nil,SW_SHOWNORMAL) ;
Das klappt auch, solange beim Befehl nur ein Parameter übegeben wird, wie hier: "C:\Program Files\Ghostgum\gsview\gsprint.exe" -printer "\\BRUNATA\OKI C5300" "%1" Jetzt möchte ich aber den Druckernamen ebenfalls als Parameter übergeben. Wie lautet dann der Aufruf von ShellExecute, und wie muss ich den Dateitype definiern. "C:\Program Files\Ghostgum\gsview\gsprint.exe" -printer "\%2" "%1" oder "C:\Program Files\Ghostgum\gsview\gsprint.exe" -printer "\%1" "%2" scheint nicht zu klappen. |
Re: Standardprogramm bei shellexecute (...,'print'...)
So, dann gibt's hier auch was von mir:
gsprint -printer "Name" siehe auch hier: ![]() Meines Wissens muss der lokale Printername angegeben werden... |
Re: Standardprogramm bei shellexecute (...,'print'...)
Okay... hab's falsch verstanden...
Fällt mir momentan auch nix anderes ein als vorhin: 1. Neuen Default-Printer setzen 2. ShellExecAndWaitA 3. Alten Default-Printer wiederherstellen |
Re: Standardprogramm bei shellexecute (...,'print'...)
Und wenn Du einfach ein Leerzeichen zwischen die Übergabeparameter setzt???
Delphi-Quellcode:
Shellexecute (handle,'print','test.pdf Lexmark',nil,SW_SHOWNORMAL) ;
|
Re: Standardprogramm bei shellexecute (...,'print'...)
Zitat:
|
Re: Standardprogramm bei shellexecute (...,'print'...)
Tja....
![]() Bleibt wohl wirklich nur der manuelle Printertausch... :cry: :cry: :cry: :cry: :cry: |
Re: Standardprogramm bei shellexecute (...,'print'...)
Versuche es gerade selbst zu testen, aber die "Print" Zuordnung setzt sich immer wieder von selbst auf AcroRd32.exe zurück....
:wall: :wall: :wall: :wall: :wall: |
Re: Standardprogramm bei shellexecute (...,'print'...)
Naja, die Zuordnung an sich funktioniert prima, nur krieg ich aber keine weiteren Parameter übermittelt ausser den Dateinamen.
|
Re: Standardprogramm bei shellexecute (...,'print'...)
Wie wäre es dann einfach mit:
Delphi-Quellcode:
Müsstest halt vorher prüfen, ob es sich um ein pdf handelt und dann den String von Hand zusammenbasteln...
ShellExecute (H,'open',pansichar('C:\Programme\Ghostgum\gsview\gsprint.exe -printer "\\Server\Lexmark E232" C:\test.pdf'),nil,nil,0)
Bei mir funzt das so.... |
Re: Standardprogramm bei shellexecute (...,'print'...)
Naja, werde das wohl so machen müssen. Dann muss ich halt für alle in meiner Anwendung auftretenden Dateitypen unterscheiden, aber das sollte machbar sein. Ist halt nur noch etwas umständlich weil das Programm auf mehreren Rechnern läuft, und ich auf die Pfade achten muss.
Aber das Problem mit ShellExecute und 'print' bleibt trotzdem ungelöst. |
Re: Standardprogramm bei shellexecute (...,'print'...)
Kleine Korrektur... Hab' aus versehen den ersten Versuchscode gepostet... der funzt nicht...
Hier der Richtige:
Delphi-Quellcode:
ShellExecute(0, 'open', PChar('CMD.EXE'), PChar('/C C:\Programme\Ghostgum\gsview\gsprint.exe -printer "Virtual Printer" C:\100.pdf'), nil, SW_HIDE);
|
Re: Standardprogramm bei shellexecute (...,'print'...)
Hi.
Delphi-Quellcode:
@neuronet: *hüstel* Damit startest du das Programm 'C:\Programme\Ghostgum\gsview\gsprint.exe -printer "\\Server\Lexmark E232" C:\test.pdf' mit dem Parameter ''. ;-)
ShellExecute (H,'open',pansichar('C:\Programme\Ghostgum\gsview\gsprint.exe -printer "\\Server\Lexmark E232" C:\test.pdf'),nil,nil,0)
Besser so:
Delphi-Quellcode:
//edit: Wo war der rote Kasten? :gruebel:
ShellExecute(H, 'open', PAnsiChar('C:\Programme\Ghostgum\gsview\gsprint.exe'), PAnsiChar('-printer "\\Server\Lexmark E232" C:\test.pdf'), nil, SW_HIDE)
|
Re: Standardprogramm bei shellexecute (...,'print'...)
@Waldteufel: Hab's ja noch geändert... Via CMD läuft's auch so sauber...
|
AW: Standardprogramm bei shellexecute (...,'print'...)
Hallo,
gibt es eine Möglichkeit um festzustellen, ob ich eine Datei mit ShellExecute drucken kann? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:24 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