我如何知道使用 C# 的另一个应用程序的版本

发布于 2024-08-09 10:12:21 字数 281 浏览 3 评论 0原文

我需要用 C# 编写一个程序来收集有关我的计算机上运行的进程的信息。我使用以下代码成功获取了进程的名称和 ID:

... Process[] 进程列表; ... foreach(处理进程列表中的进程) { Console.WriteLine(进程.进程名称 + ...) } ...

但我无法获取进程的版本(例如 Firefox 或 Visual Studio)。 有人知道如何获取正在运行的进程的版本吗? 多谢!

i need to write a program in c# to collect information about processes running on my computer. I successfuly get the processes's names and ID using this code:

...
Process[] processlist;
...
foreach (Process theprocess in processlist)
{
Console.WriteLine(theprocess.ProcessName + ...)
}
...

But i couldn't get the version of the processes (like Firefox or Visual Studio).
does anybody know how to get the version of a running process?
thanks a lot!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

终弃我 2024-08-16 10:12:21

Process.MainModule.FileVersionInfo。但您需要捕获一两个异常。

theProcess.MainModule.FileVersionInfo. But there are one or two exceptions you need to catch.

虐人心 2024-08-16 10:12:21

您可以从 Process.StartInfo.FileName 获取可执行文件的文件名。使用如下文件名获取 FileVersionInfo 的新实例this:

FileVersionInfo myFileVersionInfo = FileVersionInfo.GetVersionInfo(Process.StartInfo.FileName);

然后访问 myFileVersionInfo.FileVersion 来获取文件版本。

编辑:丹尼尔的方式似乎更有效;我不知道你可以直接访问加载模块的 FileVersionInfo 。

You can get the filename of the executable from Process.StartInfo.FileName. Get a new instance of FileVersionInfo using the filename like this:

FileVersionInfo myFileVersionInfo = FileVersionInfo.GetVersionInfo(Process.StartInfo.FileName);

Then access myFileVersionInfo.FileVersion to get the file version.

EDIT: Daniel's way seems more efficient; I didn't know you could just access the loaded module's FileVersionInfo directly..

失眠症患者 2024-08-16 10:12:21

请记住,可执行文件的 FileVersion 和/或 ProductVersion 可能不一定与应用程序的版本相同。例如,Firefox 3.5.3 报告的文件版本为 1.9.1.3523,但产品版本为 3.5.3。另一方面,VMware Player 2.5.1 报告的文件版本为 6.5.1.5078,产品版本为 6.5.1 build-126130。
根据您使用这些信息的目的,这可能是也可能不是问题。

Keep in mind that the executable's FileVersion and/or ProductVersion may not necessarily be the same as the application's version. For example, Firefox 3.5.3 reports a FileVersion of 1.9.1.3523, but a ProductVersion of 3.5.3. VMware Player 2.5.1, on the other hand, reports a FileVersion of 6.5.1.5078 and a ProductVersion of 6.5.1 build-126130.
Depending on what you are using the information for, this may or may not be an issue.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文