从进程ID获取原始文件名

时间:2013-02-04 19:40:08

标签: c++ winapi filenames

有没有人可以分享如何从进程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的当前文件名。

0 个答案:

没有答案