12/03/15 9:46
natamas
salve, sto cercando di creare un programma che legga processi con percorsi ed anche i moduli caricati (.dll) di alcuni di questi processi se presenti.
Io avevo abbozzato questo codice per leggere che funziona, solo che se creo il programma in 32bit leggo tutto tranne i percorsi e md5 dei processi a 64bit.
Se creo il programma a 64bit leggo tutto ma non i moduli a 32bit. Come posso fare?
I Data... sono delle list string dichiarate in altro form.
Questo è solo per farvi un'idea.
Grazie.
Io avevo abbozzato questo codice per leggere che funziona, solo che se creo il programma in 32bit leggo tutto tranne i percorsi e md5 dei processi a 64bit.
Se creo il programma a 64bit leggo tutto ma non i moduli a 32bit. Come posso fare?
public void loadProcess() { Process[] PRC = Process.GetProcesses(); var currentSessionID = Process.GetCurrentProcess().SessionId; Process[] sameAsthisSession = (from c in PRC where c.SessionId == currentSessionID select c).ToArray(); string PercProc; string PercModule; foreach (var p in sameAsthisSession) { string ProcCompleto; PercProc = " (" + Path.GetFullPath(p.MainModule.FileName) + ")"; string md5 = "00000000000000"; md5 = GetMD5HashFromFile(PercProc.Replace("(", "").Replace(")", "")); ProcCompleto = "> md5: " + md5 + " " + p.ProcessName + PercProc; DataProcessi.Add(ProcCompleto); if (InitProcDaControllare != "null") { if (p.ProcessName.StartsWith(InitProcDaControllare)) { string ModCompleto; ProcessModuleCollection pmod = p.Modules; foreach (ProcessModule pr in pmod) { PercModule = " (" + Path.GetDirectoryName(pr.FileName) + ")"; ModCompleto = " => " + pr.ModuleName + PercModule; DataModuli.Add(ModCompleto); } } } } } }Il codice non è completo di tutte le Variabili.
I Data... sono delle list string dichiarate in altro form.
Questo è solo per farvi un'idea.
Grazie.
aaa