C# 如何从64位进程C获取fileversioninfo#

C# 如何从64位进程C获取fileversioninfo#,c#,process,C#,Process,我需要获取有关64位进程的FileVersionInfo.FileDescription和FileVersionInfo.ProductName的以下信息,这是否可能 当是一个32位的进程时,我得到了这样的信息,就像在这里一样,但当是一个64位的进程时,我无法得到这样的信息 if (32BitProcess) { descricaoArquivo = Process.MainModule.FileVersionInfo.FileDescription; nomePrograma

我需要获取有关64位进程的
FileVersionInfo.FileDescription
FileVersionInfo.ProductName
的以下信息,这是否可能

当是一个32位的进程时,我得到了这样的信息,就像在这里一样,但当是一个64位的进程时,我无法得到这样的信息

if (32BitProcess)
{
    descricaoArquivo = Process.MainModule.FileVersionInfo.FileDescription;
    nomePrograma = Process.MainModule.FileVersionInfo.ProductName;
}
else
{
    nomePrograma = Path.GetFileNameWithoutExtension(Assembly.GetEntryAssembly().Location);
    descricaoArquivo = Path.GetFileNameWithoutExtension(Assembly.GetEntryAssembly().FullName);
}

FileVersionInfo.GetVersionInfo
?您是从32位进程执行此操作的吗?抱歉,各位,我需要了解一些有关进程的信息,例如MainModule.FileVersionInfo.FileDescription,但在64位进程中,此信息为空,我只能在32位进程中获取是的,我是从32位进程执行此操作的。当然,但这意味着您必须知道exe路径。有没有一种方法可以从不涉及使用?@CarlWalsh
Process.MainModule.FileName
的进程对象获取exe路径?谢谢,但user3061673询问的是如何从32位进程获取64位进程的信息。如果“一个32位进程试图访问一个64位进程的模块”,那么,
MainModule
with throw就特别指出
var versionInfo = FileVersionInfo.GetVersionInfo(yourExePath);
string fileDescription = versionInfo.FileDescription;
string productName = versionInfo.ProductName;