DECLARE INTEGER GetFileVersionInfoSize IN version.dll STRING, INTEGER DECLARE INTEGER GetFileVersionInfo IN version.dll STRING, INTEGER, INTEGER, STRING @ DECLARE INTEGER VerQueryValue IN version.dll STRING, STRING, STRING @, INTEGER @ DECLARE INTEGER GetLastError IN kernel32 fileName = "C:\PROGRAM FILES\MICROSOFT VISUAL FOXPRO 9\VFP9.EXE" dwHandle = 0 nDataLen = GetFileVersionInfoSize(fileName, dwHandle) lpData = SPACE(nDataLen) GetFileVersionInfo(fileName, dwHandle, nDataLen, @lpData) subblock = "\VarFileInfo\Translation" lpblockData = SPACE(nDataLen) nblockLength = 0 VerQueryValue(lpData, subblock, @lpblockData, @nblockLength) subblock = "\StringFileInfo\" + RIGHT(TRANSFORM(ASC(SUBSTR(lpblockData, 2, 1)), "@0"), 2) + RIGHT(TRANSFORM(ASC(SUBSTR(lpblockData, 1, 1)), "@0"), 2) + RIGHT(TRANSFORM(ASC(SUBSTR(lpblockData, 4, 1)), "@0"), 2) + RIGHT(TRANSFORM(ASC(SUBSTR(lpblockData, 3, 1)), "@0"), 2) + "\ProductName" lpblockData = SPACE(nDataLen) nblockLength = 0 VerQueryValue(lpData, subblock, @lpblockData, @nblockLength) GetLastError()