Oppure

Loading
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?

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
13/03/15 18:38
darioza
ciao, deduco che sei su piattaforma 64bit, giusto?
ma hai individuato il problema?
nel senso, dipende dai percorsi?
oppure semplicemente non list (tutti) i processi?
aaa
14/03/15 0:44
natamas
Io houn win7 64bit ed ho creato il programma per funzionare con anyCPU ma preferibilmente a x86.
ora ho sistemato un po il codice ed ora i moduli x86 funzionano...
L'unico problema e che non riesco ad avere il percorso dei processi a 64bit utilizzando il mio programma a 32bit.
Esiste qualche funzione che fa accedere un processo a 32bit alla lettura dei processi a 64bit?
aaa