我想概述正在使用的所有程序以及正在使用的此软件的版本数量。我不需要知道确切的版本号(虽然它会很好),但只能说两个东西是不同的版本(或构建版本)。
因为我对每个程序都一无所知,所以我需要以通用的方式完成。怎么可以这样做?
答案 0 :(得分:5)
这是一个非常普遍的问题,所以我会给你一个通用的答案。您将需要执行以下操作:
EnumProcesses()
枚举所有流程。OpenProcess()
以获取进程句柄。GetModuleFileNameEx()
以获取进程的主可执行文件名。GetFileVersionInfo()
,或许还有一些朋友来检索这些信息。这将为您提供二进制版本信息而不是营销版本。例如,Windows XP是版本5.1,Windows Vista是6.0,Windows 7是版本6.1。如果您需要营销版本,那么这可能无法以一般方式实现。