Comandi da Windows Form

mercoledì 21 aprile 2010 - 14.53

Valdal14 Profilo | Junior Member

Salve ragazzi

volevo sapere come tramite la pressione di un bottone posso aprire il prompt dei comandi ed eseguirne uno specifico

esempio : clikko sul bottone --> apre cmd--> esegue un comando scritto su una testbox....

grazie a tutti

Linguaggio C#

kataklisma Profilo | Senior Member

>Salve ragazzi
Ciao :)

>volevo sapere come tramite la pressione di un bottone posso aprire
>il prompt dei comandi ed eseguirne uno specifico
>
>esempio : clikko sul bottone --> apre cmd--> esegue un
>comando scritto su una testbox....

Non devi far altro che utilizzare la classe process e la classe ProcessStartInfo, ecco un'esempio che lancia cmd.exe ed esegue il comando netstat :

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

>grazie a tutti
Di niente ;)

Ciao!

------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/

Valdal14 Profilo | Junior Member

Grazie mille kataklisma

siccome si apre il prompt dei comandi... posso fermarlo una volta terminato il comando oppure scomparirà sempre?

Grazie ancora

kataklisma Profilo | Senior Member

>Grazie mille kataklisma
Di niente ;)

>siccome si apre il prompt dei comandi... posso fermarlo una volta
>terminato il comando oppure scomparirà sempre?

Se non sbaglio esiste il metodo WaitForExit che nel nostro caso verra utilizzato cosi :

processo.WaitForExit() oppure processo.WaitForExit(5000) (numero equivalente ai ms di attesa prima dell'uscita)

prova cosi ;)

>Grazie ancora
Di niente!
------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/

Valdal14 Profilo | Junior Member

grazie ancora

usanto tale metodo non riesco comunque a bloccare il precesso, hai qualche altra info?

kataklisma Profilo | Senior Member

>grazie ancora


>usanto tale metodo non riesco comunque a bloccare il precesso,
>hai qualche altra info?

Beh, il metodo è quello, prova a cercare degli esempi su google ;)
------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/

Faelar Profilo | Junior Member

Se proprio il metodo di prima non ti funziona, prova a farti un ciclo di attesa tu tipo questo:

Dim iCounter As Integer = 0

Dim prc As Process = Process.Start(prcInfo)
Do Until (prc.HasExited = True)

My.Application.DoEvents()
System.Threading.Thread.Sleep(1000)

If (prc.Responding) Then
iCounter = 0
Else
iCounter += 1
End If

If (iCounter > 60) Then
Exit Do
End If
Loop


Ciao, ed in bocca al lupo!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5