Не находит дескриптор файла процесса
Пробую найти все названия дескрипторов процессов, но не все находит, максимум 1/2 процесса и всё. Вот код для поиска:
try
{
foreach (Process proc in Process.GetProcesses())
{
try
{
if (proc.MainModule.FileVersionInfo.FileDescription.ToLower()
{
Console.WriteLine("Найден дескриптор процесса: " + proc);
}
}
catch {continue;}
}
}
catch { }
Подскажите как получить все дескрипторы процессов?
Ответы (1 шт):
Автор решения: frozencoast
→ Ссылка
Вероятные проблемы:
- Доступ к процессу ограничен
- Попытка доступа к 64-битному процессу из 32-битного приложения
В вашем коде игнорируются исключения, которые могут указать на причину того, почему процесс пропускается. Попробуйте следующий код, вместо отсутствующих процессов вы увидите сообщения об ошибках, если таковые имеются:
try
{
foreach (Process proc in Process.GetProcesses())
{
try
{
if (!string.IsNullOrEmpty(proc.MainModule.FileVersionInfo.FileDescription))
{
Console.WriteLine("Найден дескриптор процесса: {0}", proc.MainModule.FileVersionInfo.FileDescription);
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
catch { }