Reputation: 4926
My code extract all names of loaded modules from each running process, my approach goes like this answer.
Here is my code:
Process[] procs = Process.GetProcesses();
foreach (Process p in procs)
{
foreach (ProcessModule item in p.Modules)
{
Console.WriteLine(item.FileName);
}
}
Fore some reason, this approach have a very low performance :(
Is there another method or a different approach to get all those modules' names?
Any other solution that will run faster than that would be great
TIA
Upvotes: 5
Views: 1341
Reputation: 12295
You could try adding some parallelization to speed things up:
Parallel.ForEach(Process.GetProcesses(),
process =>
{
foreach (ProcessModule m in process.Modules)
{
Console.WriteLine(m.FileName);
}
});
Upvotes: 3