|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Bannato
Iscritto dal: May 2007
Città: Bari
Messaggi: 4690
|
Realizzare un taskmanager
Salve a tutti,vorrei realizzare un taskmanager che mi permetta di vedere tutti i processi con i relativi file che usano...mi potete dire come devo fare?e poi,mi potete dire come fare la ricerca di dll o eseguibili specificando la società?lo vorrei realizzare con il visual basic 2005 .net...Grazie
|
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
se guardi nella documentazione dovrebbero esserci delle librei apposite penso.
|
![]() |
![]() |
![]() |
#3 |
Bannato
Iscritto dal: May 2007
Città: Bari
Messaggi: 4690
|
è una confusione...per questo ho chiesto aiuto..lo sapevo già che c erano le librerie..quali?e poi come faccio a fare ciò che ho detto all inizio?
|
![]() |
![]() |
![]() |
#4 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
per enumerare i processi esistono vari modi, il più "pulito" credo che sia l'usare le PSAPI, per l'esattezza EnumProcesses.
per quanto riguarda l'enumerare i files in uso da un processo temo che non sia una cosa possibile con le sole funzioni documentate, già se ben ricordo non erano documentate nemmeno le funzioni usate dal Process Explorer per fare il lavoro inverso, ovvero vedere quali processi usano un certo file... non so se ora le abbiano documentate. per quanto riguarda l'ultima frase... non sono sicuro di aver capito bene ![]() ma se vuoi fare quello che ho inteso io devi solo tenere presente che per sapere la "società" di un file eseguibile (posto che ne abbiano messa una nella descrizione) devi andare a guardare tra le risorse dello stesso e non è una cosa molto semplice. |
![]() |
![]() |
![]() |
#5 |
Bannato
Iscritto dal: May 2007
Città: Bari
Messaggi: 4690
|
dunque..il mio progetto è questo:a volte capita di avere a che fare con dll che si inseriscono in explorer o di file exe che si inserisconpo in explorer...voglio realizzare questo programma per aiutare a trovare i virus facilmente..quindi praticamente voglio fare ad esempio una ricerca di tutti i file utilizzati dai processi tranne quelli che hanno la società microsoft per vedere i restanti file usati dai processi e per rilevare facilmente virus...spero di essere stato chiaro
|
![]() |
![]() |
![]() |
#6 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
enumerare tutti i files utilizzati da un processo ed enumerare tutti i moduli caricati in un processo sono due cose molto differenti. la seconda è fattibilissima tramite EnumProcessModules.
|
![]() |
![]() |
![]() |
#7 | |
Bannato
Iscritto dal: May 2007
Città: Bari
Messaggi: 4690
|
Quote:
|
|
![]() |
![]() |
![]() |
#8 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
|
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Sep 2006
Messaggi: 335
|
Quote:
Private PRV_Process As Process Private PRV_ProcessList() As Process ... PRV_ProcessList = System.Diagnostics.Process.GetProcesses Dim tmp_Process As Process For Each tmp_Process In PRV_ProcessList If tmp_Process.ProcessName = "nome del processo che vuoi controllare" Then tmp_Process.modules() -> qui c'e' la lista completa delle dll... End If Next |
|
![]() |
![]() |
![]() |
#10 | |
Bannato
Iscritto dal: May 2007
Città: Bari
Messaggi: 4690
|
Quote:
|
|
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Sep 2006
Messaggi: 335
|
dovresti trovarlo nel PerformanceCounter (mi sembra
![]() Private PRV_Performance As System.Diagnostics.PerformanceCounter PRV_Process = System.Diagnostics.Process.GetProcessById(tmp_ID) PRV_Performance = New PerformanceCounter("Process", "% Processor Time", PRV_Process.ProcessName) questo ad esempio ritorna l'utilizzo della cpu |
![]() |
![]() |
![]() |
#12 | |
Bannato
Iscritto dal: May 2007
Città: Bari
Messaggi: 4690
|
Quote:
|
|
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Sep 2006
Messaggi: 335
|
|
![]() |
![]() |
![]() |
#14 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
|
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Sep 2006
Messaggi: 335
|
Il companyname lo trovi nel modules() del process
tmp_Process.Modules(idx).FileVersionInfo.CompanyName |
![]() |
![]() |
![]() |
#16 |
Bannato
Iscritto dal: May 2007
Città: Bari
Messaggi: 4690
|
|
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Sep 2006
Messaggi: 335
|
|
![]() |
![]() |
![]() |
#18 |
Bannato
Iscritto dal: May 2007
Città: Bari
Messaggi: 4690
|
Non ti preoccupare non ne ho bisogno..Comunque potrest farlo tu il sorgente di questo piccolo programmino e inviarmelo?Purtroppo non posso installare il visual studio 2005..
![]() |
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: Sep 2006
Messaggi: 335
|
Ehm... a questo punto pero' i soldi te li chiedo io!!!!
![]() ![]() ![]() ![]() |
![]() |
![]() |
![]() |
#20 |
Bannato
Iscritto dal: May 2007
Città: Bari
Messaggi: 4690
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:34.