C# 如何从64位进程C获取fileversioninfo#
我需要获取有关64位进程的C# 如何从64位进程C获取fileversioninfo#,c#,process,C#,Process,我需要获取有关64位进程的FileVersionInfo.FileDescription和FileVersionInfo.ProductName的以下信息,这是否可能 当是一个32位的进程时,我得到了这样的信息,就像在这里一样,但当是一个64位的进程时,我无法得到这样的信息 if (32BitProcess) { descricaoArquivo = Process.MainModule.FileVersionInfo.FileDescription; nomePrograma
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路径。有没有一种方法可以从不涉及使用?@CarlWalshProcess.MainModule.FileName
的进程对象获取exe路径?谢谢,但user3061673询问的是如何从32位进程获取64位进程的信息。如果“一个32位进程试图访问一个64位进程的模块”,那么,MainModule
with throw就特别指出
var versionInfo = FileVersionInfo.GetVersionInfo(yourExePath);
string fileDescription = versionInfo.FileDescription;
string productName = versionInfo.ProductName;