我下载了这个类http://www.codeproject.com/file/VersionInfo.asp
我用它从我当前运行的几个程序中获取文件信息。
当我想从我编写的程序中获取信息时它工作正常,但我无法获取“chrome”或我的“visual studio”的文件信息。
当我查询我的应用程序的产品名称时,我得到“Todo:ProductName”,因为它尚未设置;)
但是当我查询 chrome.exe 的 productName 时,我只得到“”什么都没有。
有谁知道为什么?
编辑:我调试了一下,问题就在这里。
BOOL CFileVersionInfo::Open( IN LPCTSTR lpszFileName )
{
if( lpszFileName == NULL )
ASSERT_RETURN( FALSE );
Close();
if( !GetVersionInfo( lpszFileName ) || !QueryVersionTrans() )
Close();
return m_bValid;
};
输入“chrome.exe”时,GetVersionInfo(lpsz...) 确实返回 0
编辑 2:是的 chrome.exe 有一个产品名称字段。
示例:chrome.exe - 文件描述:Google Chrome - 类型:应用程序 - 文件版本:23.0.1271.97 - 产品名称:Google Chrome - 产品版本:23.0.1271.97 - 版权所有:..blabla... - 大小:1.18MB -修改日期:some_date - 语言:英语 - 原始文件名:chrome.exe
编辑 3:如何获得 exe 的完整路径?我只有进程ID。目前,我正在遍历所有进程并搜索我的 processId。
到目前为止感谢您的回答:-)