This commit is contained in:
Vichingo455
2025-03-23 15:26:15 +01:00
parent cacf40b6cd
commit ad8366918e
72 changed files with 10255 additions and 2 deletions

44
shared/VersionInfo.c Normal file
View File

@@ -0,0 +1,44 @@
#include "stdafx.h"
#include "VersionInfo.h"
static BOOL _loadedOwnVersion = FALSE;
static LPWSTR _version;
HRESULT GetOwnVersion(LPWSTR *version) {
if (!_loadedOwnVersion) {
_loadedOwnVersion = TRUE;
LPWSTR filename;
GetOwnFileName(&filename);
DWORD verHandle;
DWORD verInfoSize = GetFileVersionInfoSize(filename, &verHandle);
if (verInfoSize == 0) {
LocalFree(filename);
return HRESULT_FROM_WIN32(GetLastError());
}
LPVOID verInfo = LocalAlloc(LPTR, verInfoSize);
if (!GetFileVersionInfo(filename, verHandle, verInfoSize, verInfo)) {
LocalFree(filename);
LocalFree(verInfo);
return HRESULT_FROM_WIN32(GetLastError());
}
LocalFree(filename);
LPWSTR value;
UINT size;
if (!VerQueryValue(verInfo, L"\\StringFileInfo\\040904B0\\ProductVersion", (LPVOID *)&value, &size)) {
LocalFree(verInfo);
return HRESULT_FROM_WIN32(GetLastError());
}
_version = (LPWSTR)LocalAlloc(LPTR, (wcslen(value) + 1) * sizeof(WCHAR));
wcscpy(_version, value);
LocalFree(verInfo);
}
*version = _version;
return _version == NULL ? E_FAIL : S_OK;
}