Newsgroup: it.comp.lang.visual-basic
Titolo: VB6 - Eseguire un comando esterno

Mi sembra di ricordare che ci sia la possibilità
di eseguire da VB6 un comando esterno (non il run
di un altro programma) ma non ricordo più come si fa.
Se qualcuno potesse suggerirmelo....
Grazie e saluti.
Sauro

 Se qualcuno potesse suggerirmelo....
Scusa ma che tipo di comando ti serve? Cioè cosa devi fare?
-- 
Freccia@Bulldozer63 :D

CRS snc ha scritto:

Dipende da cosa intendi per comando esterno.
Normalmente per comunicare con applicazioni esterne si può usare l'API
SendMessage o PostMessage, oppure nel caso tu debba gestirne anche la
verifica
Sincrona dell'esecuzione SendMessageTimeOut.
Altra cosa è invece effettuare un comando su un'applicazione esterna,
in questo caso
potrebbe esserti utile SendKeys....
Spiegaci meglio cosa devi ottenere.
@Alex

 Freccia@Bulldozer63 :D
@copy /b "NomeFileSpool" "\\ NomeStampante"
In teoria il suddetto comando dovrebbe funzionare anche
inserito in un .BAT
In realtà non funziona perchè non riconosce la stampante
che ha un collegamento USB.
Non sono sicuro di quel che dico ma penso che i .BAT
vengano gestiti dal DOS (ho win 98) che vede solo la
parallela.
Così volevo provare ad eseguirlo da dentro VB.
Il tutto serve per stampare una serie di disegni DWG senza doverli aprire ad
uno ad uno col seguente metodo:
1) Ogni volta che viene fatto un disegno si esegue una
    stampa su file (NomeFile.plt)
2) Qualsiasi ufficio (non solo l'ufficio tecnico) può
    effettuare una copia sul plotter di un elenco di .plt
.-.-.-.-.-.-.-.-.-.-.
Per tornare alla mia domanda iniziale supponi che io debba solo fare:
DEL NomeFile
senza usare le funzioni di VB.
Grazie e ciao, Sauro

>@Alex
@copy /b "NomeFileSpool" "\\ NomeStampante"
In teoria il suddetto comando dovrebbe funzionare anche
inserito in un .BAT
In realtà non funziona perchè non riconosce la stampante
che ha un collegamento USB.
Non sono sicuro di quel che dico ma penso che i .BAT
vengano gestiti dal DOS (ho win 98) che vede solo la
parallela.
Così volevo provare ad eseguirlo da dentro VB.
Il tutto serve per stampare una serie di disegni DWG senza doverli aprire ad
uno ad uno col seguente metodo:
1) Ogni volta che viene fatto un disegno si esegue una
    stampa su file (NomeFile.plt)
2) Qualsiasi ufficio (non solo l'ufficio tecnico) può
    effettuare una copia sul plotter di un elenco di .plt
.-.-.-.-.-.-.-.-.-.-.
Per tornare alla mia domanda iniziale supponi che io debba solo fare:
DEL NomeFile
senza usare le funzioni di VB.
Grazie Alex  e ciao, Sauro

CRS snc ha scritto:
SHELL
o le api equivalenti ShellExecute
in più puoi mischiare rundll32 come linea di comando.....
però non ho capito....se la stampante non viene riconosciuta da
windows...come cavolo pensi di stampare???

CRS snc ha scritto:

Per la 2° domanda puoi usare Shell o ShellExecute come ti ha suggerito
Wodka.
Per il 1° problema, che potremo definire Stampa Batch sostanzialmente
io ho risolto
così:
http://www.alessandrobaraldi.it/DettaglioFaq.asp?IdFAQ=236
E' fatto con Access, ma funziona anche con VB6.
Ciao
@Alex

> SHELL



Chissa perchè ero convinto che con la Shell si
potessero lanciare solo dei programmi .exe?
Grazie
Sto appunto cercando di capire perchè la stampante
(che è qui vicino alla mia scrivania ;-) ) non viene
riconosciuta.
Ciao, Sauro

@Alex
Corro a vedere che cosa hai fatto.
Ciao Alex e grazie, Sauro

>E' fatto con Access, ma funziona anche con VB6.
Devo approfondire, ma a prima vista non fa al caso mio
in quanto l'opzione Print
(Esplora risorse\Click dx\Print)
non è attiva per i files DWG di AutoCad.
In realtà AutoCad può creare dei file di spool (stampa su file) denominati
.plt che sono sostanzialmente le
istruzioni di stampa al plotter.
Io devo riuscire e copiare detti files sul plotter medesimo.
Ciao, Sauro