2012-06-05 19 views
6

Sto utilizzando Delphi Winapi ShellExecute per provare a stampare su una stampante selezionata dall'utente e non sulla stampante predefinita. Sto cercando di capire la sintassi di un comando usando il verbo printto.Quali sono i parametri per "printto" usando shellexecute?

Quale sarebbe un'istruzione di esempio shell execute se volessi stampare manual.pdf su un HP Laser Jet 4 con indirizzo IP 192.168.1.49?

(questo è solo un esempio, ma se mi può dare una mano, posso prendere da lì)

+2

Forse http://msdn.microsoft.com/en-us/library/bb776883(VS.85).aspx può essere utile? –

+0

Sì, ho trovato qualcosa di non utile su MSDN ieri e ho pensato che fosse l'ultima parola in merito. Grazie! –

+0

Immettere l'indirizzo di rete della stampante nel parametro arguments –

risposta

3

È necessario passare l'indirizzo di rete di rete della stampante nel parametro argomenti.

ShellExecute(
    WindowHandle, 
    'printto', 
    PChar(DocumentName), 
    PChar(PrinterNetworkAddress), 
    nil, 
    SW_HIDE 
); 
+1

Come si ottiene l'indirizzo di rete/qual è la differenza tra ciò e cosa viene restituito come porta in Printer.GetPrinter? Il codice di mjn funziona per me, ma preferirei usarlo. –

+0

Nell'esempio, 192.168.1.49 è l'indirizzo di rete della stampante –