#include #include #pragma comment(lib, "Version.lib") int main() { TCHAR szFileName[MAX_PATH] = TEXT("C:\\Users\\SEEDAGX\\source\\repos\\MyVersion\\x64\\Debug\\MyVersion.exe"); // Your application's filename DWORD dwDummy; DWORD dwFVISize = GetFileVersionInfoSize(szFileName, &dwDummy); LPBYTE lpVersionInfo = (LPBYTE)malloc(dwFVISize); if (lpVersionInfo == NULL) { printf("Error: Unable to allocate memory.\n"); return 1; } if (!GetFileVersionInfo(szFileName, 0, dwFVISize, lpVersionInfo)) { printf("Error: Unable to retrieve file version information.\n"); free(lpVersionInfo); return 1; } VS_FIXEDFILEINFO* pFileInfo; UINT uLen; if (VerQueryValue(lpVersionInfo, TEXT("\\"), (LPVOID*)&pFileInfo, &uLen)) { printf("File version: %d.%d.%d.%d\n", (pFileInfo->dwFileVersionMS >> 16) & 0xffff, (pFileInfo->dwFileVersionMS) & 0xffff, (pFileInfo->dwFileVersionLS >> 16) & 0xffff, (pFileInfo->dwFileVersionLS) & 0xffff); } else { printf("Error: Unable to retrieve file version information.\n"); } free(lpVersionInfo); return 0; }