Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - richiamare da dos con parametri?
Forum - C# / VB.NET - richiamare da dos con parametri?

Avatar
fabi3194 (Ex-Member)
Expert


Messaggi: 206
Iscritto: 11/10/2008

Segnala al moderatore
Postato alle 17:02
Lunedì, 03/11/2008
Ciao a tutti :k: voglio creare un programma da rischiamare dla dos,del tipo:
Codice sorgente - presumibilmente Plain Text

  1. shutdown -f -s -t 10


per esempio,supponiamo che il programma si chiami Pluto.exe..ecco cosa vorrei fare:
Codice sorgente - presumibilmente Plain Text

  1. percorsofile/Pluto.exe -ciao


ma non so da dove iniziare...ma almeno si può fare con un programma scritto in vb.net?
:rotfl:

PM Quote
Avatar
Progman-92 (Member)
Expert


Messaggi: 368
Iscritto: 16/12/2007

Segnala al moderatore
Postato alle 20:05
Lunedì, 03/11/2008
Si si può tramite la funzione Shell.
Codice sorgente - presumibilmente VB.NET

  1. Public Function Shell( ByVal Percorso As String, _
  2.    Optional ByVal Stile As AppWinStyle = AppWinStyle.MinimizedFocus, _
  3.    Optional ByVal Attesa As Boolean = False, _
  4.    Optional ByVal Timer As Integer = -1 _
  5. ) As Integer


Percorso: il percorso dell'applicazione da avviare seguito dal nome, dalla sua estensione e da eventuali parametri da passargli.
Stile:stile della finestra in cui verra eseguito il programma.
Attesa:valore che determina l'attesa o meno del completamento del programma da parte di Shell.
Timer:Numero di millisecondi di attesa prima dell'esecuzione del programma.
Il valore restituito dalla funzione Shell è l'id del processo.

Altrimenti con il metodo process.Start(). Vedi qui su MSDN http://msdn.microsoft.com/en-us/library/h6ak8zt5.aspx

Ultima modifica effettuata da Progman-92 il 03/11/2008 alle 20:26
PM Quote
Avatar
fabi3194 (Ex-Member)
Expert


Messaggi: 206
Iscritto: 11/10/2008

Segnala al moderatore
Postato alle 20:53
Lunedì, 03/11/2008
no non hai capito...volevo che il mio programma fosse richiamato.per esempio, il mio programma è C:\plutonio.exe.
e il suo codice sorgente seve essere una cosa simile a questa:
Codice sorgente - presumibilmente Plain Text

  1. se viene richiamato con il parametro "-ciao" allora
  2.  fai questo
  3. invece se viene richiamato con il parametro  "-f"
  4. _allora:
  5. fai quest'altro
  6. fine


mi sono spiegato bene 8-|8-|?

PM Quote
Avatar
Progman-92 (Member)
Expert


Messaggi: 368
Iscritto: 16/12/2007

Segnala al moderatore
Postato alle 21:14
Lunedì, 03/11/2008
Adesso si :rotfl:
Comunque quello che vuoi fare tu si fa tramite la proprietà CommandLineArgs contenuta in My.Application.
Questa proprietà permette di acquisire tutti gli argomenti della riga di comando e di utilizzarli nel programma. :k:

Ultima modifica effettuata da Progman-92 il 03/11/2008 alle 21:15
PM Quote
Avatar
fabi3194 (Ex-Member)
Expert


Messaggi: 206
Iscritto: 11/10/2008

Segnala al moderatore
Postato alle 16:39
Martedì, 04/11/2008
quindi il codice è questo:
Codice sorgente - presumibilmente VB.NET

  1. Imports My.application
  2.  
  3. Public class Form1
  4. Public sub Ciao()
  5. if ComandLineArgs = "ciao" then
  6. blabla
  7. end if
  8. end sub
  9. end class



:-? 8-|

PM Quote
Avatar
Progman-92 (Member)
Expert


Messaggi: 368
Iscritto: 16/12/2007

Segnala al moderatore
Postato alle 16:59
Martedì, 04/11/2008
No...CommandLineArgs è una collection. Devi quindi usare la proprietà Count per sapere il numero degli elementi contenuti in essa e leggerli tramite il loro indice!!Il codice sarà così
Codice sorgente - presumibilmente VB.NET

  1. Imports My.application
  2.  
  3. Public Class Form1
  4. Public Sub Ciao()
  5. If ComandLineArgs(0) = "ciao" Then
  6. blabla
  7. End If
  8. End Sub
  9. End Class


Ultima modifica effettuata da Progman-92 il 04/11/2008 alle 17:20
PM Quote