Ну, вы всегда можете использовать linq, чтобы помочь вам в этом, он вырвется, как только прозвучит имя
private bool IsModuleLoaded2(String ModuleName)
{
var q = from p in Process.GetProcesses()
from m in p.Modules.OfType<ProcessModule>()
select m;
return q.Any(pm => pm.ModuleName.Contains(ModuleName));
}
Кроме того, имейте в виду, что если вы работаете на 64-битной платформе, выДОЛЖЕН запускать это внутри 64-битного процесса.32-битный процесс не может получить доступ к битам и частям 64-битного процесса, включая список модулей.Я вижу, что вы ловите исключение, о котором я, вероятно, говорю, что делает ваш (и выше) код недействительным, поскольку он не будет перечислять все процессы.