|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Mar 2002
Città: Treviso
Messaggi: 294
|
programma che controlla programma DOS
devo realizzare un programmino che mi controlla un programma "vecchio" che gira nel prompt di dos ricevendo input dalla linea di comando, in modo da farlo iterare più volte, a seconda della mia volontà, mettendoci naturalmente ogni volta dati diversi, che linguaggio mi consigliate??
io conosco bene il c e il java, mi sto avvicinando a delphi, sapete se c'è qualche libraria che fa al caso mio (meglio se java..) ? ah.. il programma in dos è utilizzabile solo dopo averlo eseguito..(insomma non accetta parametri..) qualche consiglio?? |
![]() |
![]() |
![]() |
#2 |
Bannato
Iscritto dal: Oct 2004
Città: Roma
Messaggi: 124
|
se il programma non è a 16 bit usa CreateProcess redirigendo input e output a due named pipes create da te (vedi std handles nella struttura STARTUPINFO); se è a 16 bit mi sa che non puoi lanciarlo da CreateProcess, ma dovevi fare in 1 altro modo, nn sn del tutto sicuro, dovrei controllare in MSDN.
x quanto riguarda il linguaggio io per la programmazione Win32 consiglio sempre C++, meglio se C; poi fai tu... |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Mar 2002
Città: Treviso
Messaggi: 294
|
penso che ci provo col C che almeno lo conosco bene! non so però come il processo già compilato in dos possa rispondere alla mia pipe... mmm qualche aiuto??
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Feb 2003
Città: fra casa e lavoro
Messaggi: 1061
|
in python risparmi di fegato
|
![]() |
![]() |
![]() |
#5 | |
Bannato
Iscritto dal: Oct 2004
Città: Roma
Messaggi: 124
|
Quote:
mi spiego meglio: tu crei due named pipes, una per l'input e una per l'output (forse si può fare tutto con una sola pipe, ma nn lo so xkè non le ho mai usate); a questo punto devi creare il processo con CreateProcess: a CreateProcess gli devi passare (fra le altre cose) un puntatore ad una STARTUPINFO, la quale (fra le altre cose) contiene gli std handles, che tu setterai con gli handles delle tue named pipes; in questo modo tutto l'input proverrà da una delle tue named pipes, e tutto l'output andrà a finire sull'altra. questo è esattamente il sistema usato dagli IDE per redirigere l'output dei compilatori alla finestrella dei messaggi che in genere si trova in basso. |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Mar 2002
Città: Treviso
Messaggi: 294
|
ah già non avavo mai usato questo STARTUPINFO... devo vedermelo un attimo...
le pipe invece ce ne vogliono 2 per forza.. perche in c sono unidirezionali..(o meglio le potresti anche usare in 2 direzioni ma a rischio e pericolo di blocchi...) ora vedo se riesco a far qualcosa.. beh grazie x ora! Ultima modifica di pietronaif : 26-10-2004 alle 15:15. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:21.