return FALSE;
}
+static bool GetWinMuteVersion(tstring& versNumber)
+{
+ bool success = false;
+ DWORD dummy;
+ TCHAR szFileName[MAX_PATH];
+ GetModuleFileName(NULL, szFileName, sizeof(szFileName)/sizeof(szFileName[0]));
+ DWORD versSize = GetFileVersionInfoSizeEx(FILE_VER_GET_NEUTRAL, szFileName, &dummy);
+ LPVOID versData = malloc(versSize);
+ if (versData != nullptr) {
+ if (GetFileVersionInfoEx(
+ FILE_VER_GET_NEUTRAL,
+ szFileName,
+ NULL,
+ versSize,
+ versData)) {
+ VS_FIXEDFILEINFO *pvi;
+ UINT pviLen = sizeof(*pvi);
+ if (VerQueryValue(
+ versData,
+ _T("\\"),
+ reinterpret_cast<LPVOID*>(&pvi),
+ &pviLen)) {
+ versNumber = std::format(_T("{}.{}.{}.{}"),
+ pvi->dwProductVersionMS >> 16,
+ pvi->dwFileVersionMS & 0xFFFF,
+ pvi->dwFileVersionLS >> 16,
+ pvi->dwFileVersionLS & 0xFFFF);
+ success = true;
+ }
+ }
+ free(versData);
+ }
+ return success;
+}
+
INT_PTR CALLBACK AboutDlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
AboutDlgData* dlgData =
SwitchTab(dlgData, dlgData->hTabs[ABOUT_TAB_GENERAL]);
+ HWND hTitle = GetDlgItem(hDlg, IDC_ABOUT_TITLE);
+ tstring progName = _T("WinMute");
+ tstring progVers = _T("WinMute");
+ if (GetWinMuteVersion(progVers)) {
+ progName = std::format(_T("WinMute {}"), progVers);
+ Static_SetText(hTitle, progName.c_str());
+ }
+
// Set title font
LOGFONT font;
font.lfHeight = 32;
dlgData->hTitleFont = CreateFontIndirect(&font);
SendMessage(
- GetDlgItem(hDlg, IDC_ABOUT_TITLE),
+ hTitle,
WM_SETFONT,
reinterpret_cast<WPARAM>(dlgData->hTitleFont),
TRUE);
+
return TRUE;
}
case WM_NOTIFY: {
BEGIN
CONTROL "",IDC_ABOUT_TAB,"SysTabControl32",0x0,7,34,299,202
PUSHBUTTON "OK",IDOK,242,246,64,16
- LTEXT "WinMute 2.0",IDC_ABOUT_TITLE,41,7,193,23
- ICON IDI_APP,IDC_STATIC,13,7,21,20,SS_CENTERIMAGE
+ LTEXT "WinMute <VersionNumber>",IDC_ABOUT_TITLE,41,7,193,23
+ ICON IDI_APP,IDC_STATIC,13,7,20,20,SS_CENTERIMAGE
END
IDD_SETTINGS DIALOGEX 0, 0, 269, 253
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
- <AdditionalDependencies>strsafe.lib;comctl32.lib;WtsApi32.lib;Winmm.lib;UxTheme.lib;comsuppwd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>strsafe.lib;comctl32.lib;WtsApi32.lib;Winmm.lib;UxTheme.lib;comsuppwd.lib;Version.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Manifest>
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
- <AdditionalDependencies>strsafe.lib;comctl32.lib;WtsApi32.lib;Winmm.lib;UxTheme.lib;comsuppwd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>strsafe.lib;comctl32.lib;WtsApi32.lib;Winmm.lib;UxTheme.lib;comsuppwd.lib;Version.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Manifest>
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>