2
我想概覽所有正在使用的程序以及正在使用的此軟件的版本。我不需要知道確切的版本號(儘管它會很好),但能夠說兩件事是不同的版本(或版本)。Windows:獲取正在運行的進程的版本
因爲我對每個程序都不瞭解,所以我需要用通用的方法來完成這個任務。這怎麼能做到?
我想概覽所有正在使用的程序以及正在使用的此軟件的版本。我不需要知道確切的版本號(儘管它會很好),但能夠說兩件事是不同的版本(或版本)。Windows:獲取正在運行的進程的版本
因爲我對每個程序都不瞭解,所以我需要用通用的方法來完成這個任務。這怎麼能做到?
這是一個相當普遍的問題,所以我會給你一個普遍的答案。您將需要執行以下操作:
EnumProcesses()
來枚舉所有進程。OpenProcess()
獲取一個進程句柄。GetModuleFileNameEx()
來獲取進程的主執行文件名。GetFileVersionInfo()
,或許它的一些朋友檢索信息。這將爲您提供二進制版本信息,而不是市場營銷版本。例如,Windows XP是5.1版,Windows Vista是6.0,Windows 7是6.1版。如果您需要市場營銷版本,那麼通用方式可能無法實現。