有没有人可以分享如何从进程ID获取文件的原始文件名?
我试过功能:
bool getProcessOriginalFilename(LPSTR lpszFilePath)
{
DWORD dwDummy;
DWORD dwFVISize = GetFileVersionInfoSize( lpszFilePath , &dwDummy );
LPBYTE lpVersionInfo = new BYTE[dwFVISize];
GetFileVersionInfo( lpszFilePath , 0 , dwFVISize , lpVersionInfo );
UINT uLen;
VS_FIXEDFILEINFO *lpFfi;
VerQueryValue( lpVersionInfo , _T("\\") , (LPVOID *)&lpFfi , &uLen );
printf( "Original filename: %x\n" , lpFfi->OriginalFilename);
delete [] lpVersionInfo;
return true;
}
但lpFfi->OriginalFilename
中有错误:
struct tagVS_FIXEDFILEINFO' has no member named 'OriginalFilename'
我也不知道如何从processID获取文件路径,因为Tlhelp32条目只返回没有路径和进程ID的当前文件名。