请问如何读取EXE文件的版本信息呢???
调用了下面这段代码,但没有任何返回值啊~~~~~~
Function TFrmMain.GetExeComments( const FileName, Value : String ): String;
var
dwHandle, dwVersionSize : DWORD;
strLangCharSetInfoString : String;
pcBuffer : PChar;
pTemp : Pointer;
begin
strLangCharSetInfoString := '\StringFileInfo\040904E4\' + Value; // get version information values
dwVersionSize := GetFileVersionInfoSize( PChar( FileName ), // pointer to filename string
dwHandle ); // pointer to variable to receive zero
// if GetFileVersionInfoSize is successful
if dwVersionSize <> 0 then
begin
GetMem( pcBuffer, dwVersionSize );
try
if GetFileVersionInfo( PChar( FileName ), // pointer to filename string
dwHandle, // ignored
dwVersionSize, // size of buffer
pcBuffer ) then // pointer to buffer to receive file-version info.
if VerQueryValue( pcBuffer, // pBlock - address of buffer for version resource
PChar( strLangCharSetInfoString ), // lpSubBlock - address of value to retrieve
pTemp, // lplpBuffer - address of buffer for version pointer
dwVersionSize ) then // puLen - address of version-value length buffer
Result := PChar( pTemp );
finally
FreeMem( pcBuffer );
end; // try
end;// if dwVersionSize
end; // GetFileInformation