giogiogio1213 (Normal User)
Rookie
Messaggi: 39
Iscritto: 06/04/2010
|
Questo topic è stato chiuso dal moderatore Come da titolo mi servirebbe una funzione che mi dica quando termina un certo processo, premetto che il processo non devo terminarlo io ma semplicemente eseguire controlli ripetuti su di esso, conosco il nome del processo.
questo mi servirebbe per fare una modifica ad un programma appena esso viene terminato altrimenti non mi è possibile rinominarlo o spostarlo!
Se avete altre idea proponete pure ^^ grazie infinite a chiunque si interessi!
|
|
LoganShile (Ex-Member)
Expert
Messaggi: 350
Iscritto: 27/03/2009
|
1. Specificare il linguaggio nel titolo del topic.
2. Non puoi usare un timer ?
Ultima modifica effettuata da LoganShile il 27/04/2010 alle 22:21 |
|
giogiogio1213 (Normal User)
Rookie
Messaggi: 39
Iscritto: 06/04/2010
|
Il linguaggio è Visual Basic Net, scusa ma il timer non ha una funzione di controllo processo, correggimi se sbaglio ^^, a me interessa come controllare se un processo è ancora attivo, poi i metodi di ripetizione del controllo li lascerei per dopo... grazie comunque
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Ovvio che il timer non fa tutto da solo. Devi controllare tu, al tick, che il processo sia ancora attivo. Basta usare Process.GetProcessesByName("nome").
|
|
giogiogio1213 (Normal User)
Rookie
Messaggi: 39
Iscritto: 06/04/2010
|
""Ovvio che il timer non fa tutto da solo."" grazie ma l'avevamo già detto ^^ (il timer non ha una funzione di controllo processo)
mmm praticamente associa il processo che gli dico io ai processi del pc, ma non capisco come riesco a interpretare il valore restituito ^^
Ultima modifica effettuata da giogiogio1213 il 29/04/2010 alle 15:50 |
|
giogiogio1213 (Normal User)
Rookie
Messaggi: 39
Iscritto: 06/04/2010
|
Perfavore aiutatemi, mi manca solo questa funzione per terminare il programmino
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
A volte non capisco se certe cose vengono dette sul serio.
Mi sembra evidente che se non esiste un processo di nome "nome", quella funzione restituisce o nulla o quanto meno un array vuoto.
Il nome è in inglese, ma ha un significato ben preciso, ed esiste MSDN.
|
|
giogiogio1213 (Normal User)
Rookie
Messaggi: 39
Iscritto: 06/04/2010
|
>>A volte non capisco se certe cose vengono dette sul serio.
Mi sembra evidente che se non esiste un processo di nome "nome", quella funzione restituisce o nulla o quanto meno un array vuoto.
Il nome è in inglese, ma ha un significato ben preciso, ed esiste MSDN.<<
Il problema non è "nome", ma quando scrivo quella funzione anche se creo un array per avere un risultato o una stringa non lo accetta cioè string non è compatibile con process poi non mi è ben chiaro cosa da in uscita quella funzione cioè se io nel nome metto "taskmgr" e il processo è attivo lui cosa mi dirà?
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Postato originariamente da giogiogio1213:
>>A volte non capisco se certe cose vengono dette sul serio.
Mi sembra evidente che se non esiste un processo di nome "nome", quella funzione restituisce o nulla o quanto meno un array vuoto.
Il nome è in inglese, ma ha un significato ben preciso, ed esiste MSDN.<<
Il problema non è "nome", ma quando scrivo quella funzione anche se creo un array per avere un risultato o una stringa non lo accetta cioè string non è compatibile con process poi non mi è ben chiaro cosa da in uscita quella funzione cioè se io nel nome metto "taskmgr" e il processo è attivo lui cosa mi dirà? |
Avresti potuto desumere tutte queste informazioni dai miei post precedenti.
Ti ho detto che la funzione è Process.GetProcessesByName("name"). Avresti dovuto notare che la funzione è membro di una classe (perchè ho usato l'operatore punto), e questa classe è Process. Dato che il nome della funzione è Get (ottieni) Processes (processi) ByName (dal nome), è chiaro che, esistendo una classe Process, l'output sarebbe stato una qualche lista di oggetti di tipo Process.
Inoltre, se avessi usato l'IntelliSense, avresti chiaramente visto il tooltip di suggerimento indicante la signature esatta del metodo, ossia GetProcessesByName(ByVal processName As String) As Process(), in cui Process() indica, ancora, un array di processi.
Avresti potuto cercare tale funzione su MSDN:
http://msdn.microsoft.com/it-it/library/z3w4xdc9.aspx
e avresti ottenuto, ancora una volta, gli stessi risultati.
Non contento, avresti potuto anche cercare degli esempi con google, e ottenere sempre le stesse informazioni.
Non hai fatto nulla di tutto questo, sei semplicemente andato "a tentoni", cosa che evidentemente non ti ha portato a nulla. Questo non è l'approccio adatto per programmare, bisogna sì avere iniziativa, ma fare le cose con logica. |
|