22/07/11 8:14
wuolfit
Ciao a tutti,
il mio ultimo dubbio sul vb6 è il seguente :
Io ho una form contenente un DriveListBox, un DirListBox, un FileListBox ed un bottone. La funzione del bottone è quella di permettermi di usare una stampante (indicata da me nel codice sorgente del programma), che non è quella di default. Adesso volevo sapere se, una volta selezionato un file dalla mia FileListBox, è possibile mandarlo in stampa, usando il bottone di cui sopra e di conseguenza la stampante non di default da me scelta.
Grazie a tutti in anticipo per l'aiuto
Ultima modifica effettuata da wuolfit 22/07/11 9:45
aaa
22/07/11 17:52
gibra
Questo articolo ti aiuta sul versante 'impostare la stampante'
How To Set Which Printer Is the System Default Printer
support.microsoft.com/kb/266767/…
Quindi, dopo aver impostato la TUA stampante, stampi il file utilizzando la funzione:
Private Const SW_HIDE As Long = 0
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Rem Uso:
ShellExecute 0, "print", <percorso_file>, "", "", SW_HIDE
e poi ripristini la stampante predefinita, che era settata prima.
Ultima modifica effettuata da gibra 22/07/11 19:55
aaa
25/07/11 7:45
wuolfit
Gibra scusa il ritardo nel rispondere, e grazie mille x i consigli, ma quella di shellexecute è una strada già provata che non ha sortito l'effetto sperato, che tu sappia no esistono vie alternative????
aaa
25/07/11 10:28
gibra
Che io sappia, non esistono altre vie.
La ShellExecute è l'unica, perchè è la sola funzione che recupera automaticamente il programma predefinito in base al tipo di file, e funziona su qualsiasi computer.
Trovo davvero molto strano che a te non riesca... Molto strano perchè io la uso praticamente in tutti i miei programmi e non ho mai avuto problemi.
aaa
26/07/11 11:17
gibra
Non 'Strano ma vero' ma 'ovvio!' che non funziona.
Sfido chiunque a far funzionare la tua istruzione:
stampa = ShellExecute(0, "Print", "percorso del file", "", "", 0)
Ultima modifica effettuata da gibra 26/07/11 11:20
aaa
26/07/11 13:38
wuolfit
In cos'è che è sbagliata???? Non mi puoi dare qualche dritta per favore????
aaa