3.842 messaggi dal 28 gennaio 2003
vorrei fare una piccola applicazione per semplificare il lancio di un comando java.
Il comando è una stringa del tipo: java resto_stringa_con_molti_parametri
L'idea è quella di crearmi un file .bat (lanciato da solo funziona bene) e lanciarlo da vb.net e vedere i risultati in un textbox.

Per fare un esempio semplice, ho costruito questo semplice file prova.bat:
@echo off
java
pause


lanciato col doppio click funziona e mi fa vedere l'help del comando java.
Lanciato da vb.net col codice di sotto, mi fa vedere solo "Premere un tasto per continuare . . . "
p = New Process()

p.StartInfo.RedirectStandardOutput = True
p.StartInfo.CreateNoWindow = True
p.StartInfo.UseShellExecute = False
p.StartInfo.FileName = String.Format("""{0}""", "c:\tmp\prova.bat")
p.StartInfo.Arguments = ""
p.StartInfo.StandardOutputEncoding = Encoding.GetEncoding(850) '<== codifica MS-DOS Latin 1
p.Start()
p.WaitForExit(1000)
result = p.StandardOutput.ReadToEnd()

Pietro
11.190 messaggi dal 09 febbraio 2002
Contributi
Forse il comando java non sta scrivendo sul flusso StandardOutput ma sullo StandardError. Prova a catturare anche quello.
In alternativa puoi reindirizzare lo StandardError sullo StandardOutput in questo modoo:
comando 2>&1


Ad esempio:
java 2>&1


ciao,
Moreno
Modificato da BrightSoul il 22 dicembre 2018 12.01 -

Enjoy learning and just keep making
3.842 messaggi dal 28 gennaio 2003
Ti ringrazio.
Sto provando e sembra funzionare nei due modi da te suggeriti.

Felice Natale!

Pietro

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.