Я использую приведенный ниже код для получения информации о процессе из моего 32-разрядного приложения.
var process = Process.GetProcessById((int)processID);
if (process != null && process.MainModule != null && process.MainModule.FileVersionInfo != null)
{
windowInfo.CompanyName = process.MainModule.FileVersionInfo.CompanyName;
windowInfo.FileDescription = process.MainModule.FileVersionInfo.FileDescription;
windowInfo.FileName = process.MainModule.FileVersionInfo.FileName;
windowInfo.FileVersion = process.MainModule.FileVersionInfo.FileVersion;
windowInfo.ProductName = process.MainModule.FileVersionInfo.ProductName;
windowInfo.ProductVersion = process.MainModule.FileVersionInfo.ProductVersion;
}
Выдает Win32Exception
, когда я запрашиваю то же самое для 64-битного процесса.Я попробовал то же самое в независимом приложении, следуя решению, приведенному в в этом посте , и оно сработало, когда я изменил свое приложение на 64-битное.Я не могу сделать то же самое в моем основном приложении.
У кого-нибудь есть обходной путь?Я просто хочу запросить параметры внутри тела "if".
Дайте мне знать, если потребуется дополнительная информация.