From: Alexander Steinhöfer Date: Mon, 29 Jun 2020 08:40:36 +0000 (+0200) Subject: Added new mute options. X-Git-Tag: 1.5.0~6 X-Git-Url: https://repos.lx-s.de/gitweb/?a=commitdiff_plain;h=9b4a2d5c82c4a94aae8c2bf1d1be862e9b1192ae;p=winmute.git Added new mute options. New mute options are: - On Suspend - On Shutdown - On Logoff These options do not auto-restore the volume, when the PC restarted, etc. --- diff --git a/Dist/WinMute.nuspec b/Dist/WinMute.nuspec index 3f82aaa..04cf62d 100644 --- a/Dist/WinMute.nuspec +++ b/Dist/WinMute.nuspec @@ -3,27 +3,27 @@ winmute - 1.4.4.20170814 + 1.4.6.20200424 WinMute Alexander Steinhöfer Alexander Steinhöfer https://github.com/lx-s/WinMute/releases https://github.com/lx-s/WinMute/ - https://cdn.rawgit.com/lx-s/WinMute/1.4.4/WinMute/app.ico + https://cdn.rawgit.com/lx-s/WinMute/1.4.6/WinMute/app.ico winmute windows utility audio Automatic sound muter WinMute automatically mutes your PC volume if you lock your screen or the screensaver is running. - © 2016, Alexander Steinhöfer - https://cdn.rawgit.com/lx-s/WinMute/1.4.4/LICENSE + © 2020, Alexander Steinhöfer + https://cdn.rawgit.com/lx-s/WinMute/1.4.6/LICENSE - - - + + + diff --git a/Dist/bin/changelog.txt b/Dist/bin/changelog.txt index 315b109..865c80a 100644 --- a/Dist/bin/changelog.txt +++ b/Dist/bin/changelog.txt @@ -1,3 +1,6 @@ +Version 1.5.0 (2020-xx-yy) + * Added support for mute on suspend, shutdown and logout + Automatic audio-restore is disabled for these events. Version 1.4.6 (2020-04-24) * Compiled with spectre migitations... just 'cause * Added "Support"-Link to About dialog diff --git a/Dist/bin/liesmich.html b/Dist/bin/liesmich.html index 311d4ed..e795c6c 100644 --- a/Dist/bin/liesmich.html +++ b/Dist/bin/liesmich.html @@ -2,7 +2,7 @@ - WinMute 1.4.6 - Lies mich + WinMute 1.5.0 - Lies mich -

WinMute 1.4.6

+

WinMute 1.5.0

Über

-

WinMute schaltet Windows stumm, sobald sie ihren PC sperren oder sich der Bildschirmschoner einschaltet.

+

WinMute kann Windows automatisch stumm schalten, sobald

+
    +
  1. Sie den PC sperren.
  2. +
  3. sich der Bildschirmschoner aktiviert.
  4. +
  5. der PC heruntergefahren wird.
  6. +
  7. Sie sich Abmelden.
  8. +
  9. der PC in den Ruhezustand geht.
  10. +

Das ist vor allem in einer Büroumgebung nützlich, wenn Sie Ihren Schreibtisch verlassen, aber die Kollegen nicht mit Musik oder - sonstigen Geräuschen aus Ihrem Computer stören möchten. + sonstigen Geräuschen aus Ihrem Computer stören möchten + oder aber Sie bei der nächsten Präsentation sicher gehen möchten, dass + der Ton Stumm ist, sobald der PC hochgefahren wird.

@@ -46,19 +55,19 @@ Wenn sie WinMute automatisch mit Windows starten möchten, kopieren sie eine Verknüpfung zur WinMute.exe in den "Autostart" Ordner, den sie im Startmenü unter "Programme" finden (um diesen - Ordner zu finden drücken sie Windows+R auf ihrer Tastatur und tippen dann - "Shell:Startup" in das Textfeld ein. Bestätigen sie das Fenster mit OK). + Ordner zu finden drücken sie Windows+R auf ihrer Tastatur und tippen dann + "Shell:Startup" in das Textfeld ein. Bestätigen sie das Fenster mit OK).

Deinstallation

Einfach die WinMute.exe und ScreensaverNotify.dll löschen*. Zusätzlich legt WinMute in der Registry (regedit.exe) - im Verzeichnis HKEY_CURRENT_USER\Software\lx-systems\WinMute ab. Sollten sie die von WinMute - gespeicherten Einstellungen nichtmehr benötigen, können sie diese einfach entfernen. + im Verzeichnis HKEY_CURRENT_USER\Software\lx-systems\WinMute ab. Sollten sie die von WinMute + gespeicherten Einstellungen nichtmehr benötigen, können sie diese einfach entfernen.

- * Es kann sein, dass sich diese dll nicht sofort löschen lässt. Bei einem Fehler probieren sie es einfach - spätestens beim nächsten Neustart erneut. Diese Unannehmlichkeit ist leider eine Windows-Limitierung. + * Es kann sein, dass sich diese dll nicht sofort löschen lässt. Bei einem Fehler probieren sie es einfach + spätestens beim nächsten Neustart erneut. Diese Unannehmlichkeit ist leider eine Windows-Limitierung.

Benutzung

@@ -66,14 +75,14 @@

Sobald das Programm läuft, wird die Lautstärke automatisch auf 0 gedreht, sobald Sie den PC sperren - oder sich der Bildschirmschoner aktiviert. + oder sich der Bildschirmschoner aktiviert. Wenn Sie wieder an den PC zurückkehren, wird die Lautstärke auf den - ursprünglichen Wert zurückgestellt. + ursprünglichen Wert zurückgestellt.

Wenn dieses Verhalten kurzzeitig deaktiviert werden soll, können Sie dies über einen Rechtsklick auf das Taskbar-Icon bei der Uhr erreichen, indem sie den Haken bei "Mute on Workstation lock" bzw. - "Mute on Screensaver start" tentfernen. + "Mute on Screensaver start" tentfernen.

diff --git a/Dist/bin/readme.html b/Dist/bin/readme.html index b402373..d46ffe7 100644 --- a/Dist/bin/readme.html +++ b/Dist/bin/readme.html @@ -2,7 +2,7 @@ - WinMute 1.4.6 - Readme + WinMute 1.5.0 - Readme -

WinMute 1.4.6

+

WinMute 1.5.0

About

-

WinMute automatically mutes your PC volume if you lock your screen or the screensaver is running.

+

WinMute automatically can mute your volume when

+
    +
  1. You lock your PC.
  2. +
  3. The screensaver turns on.
  4. +
  5. Your PC shuts down
  6. +
  7. You log off
  8. +
  9. Your PC goes to sleep
  10. +

This is very helpful e.g. if you leave your desk and don't want to annoy your co-workers with random sounds or music from - your computer. + your computer or don't want music blasting out of your speakers, + the next time you power on your pc during a presentation.

@@ -46,31 +54,31 @@ If you want WinMute to automatically start with your windows, just create a shortcut to the winmute.exe file in the "Startup" folder located in your Windows Startmenu (to open this folder, - press Win+R and enter "Shell:Startup", then click "OK"). + press Win+R and enter "Shell:Startup", then click "OK").

Uninstalling WinMute

Just delete the WinMute.exe and ScreensaverNotify.dll* file from your hard drive. - If you want to also remove your personal WinMute settings, then open - the registry (regedit.exe) and delete the Folder located in - HKEY_CURRENT_USER\Software\lx-systems\WinMute. + If you want to also remove your personal WinMute settings, then open + the registry (regedit.exe) and delete the Folder located in + HKEY_CURRENT_USER\Software\lx-systems\WinMute.

- * It can happen, that you cannot remove this DLL file right away. - If you get an error trying to remove it, just wait until your next reboot - and delete it afterwards. This is unfortunately a windows limitation. + * It can happen, that you cannot remove this DLL file right away. + If you get an error trying to remove it, just wait until your next reboot + and delete it afterwards. This is unfortunately a windows limitation.

Usage

Start it and that's it!

Whenever you lock your screen from now on or the screensaver starts, - WinMute will automatically mute your windows volume, and unmute it - right away when you come back to your pc.
+ WinMute will automatically mute your windows volume, and unmute it + right away when you come back to your pc.
If you want to disable this behaviour temporary, right-click - on the taskbar notification icon and uncheck the menu item - "Mute on Workstationlock" / "Mute on Screensaver start". + on the taskbar notification icon and uncheck the menu item + "Mute on Workstationlock" / "Mute on Screensaver start".

diff --git a/WinMute/Settings.cpp b/WinMute/Settings.cpp index f1c946e..f5ed751 100644 --- a/WinMute/Settings.cpp +++ b/WinMute/Settings.cpp @@ -50,6 +50,14 @@ static LPCWSTR KeyToStr(SettingsKey key) case SettingsKey::RESTORE_AUDIO: keyStr = _T("RestoreAudio"); break; + case SettingsKey::MUTE_ON_SUSPEND: + keyStr = _T("MuteOnSuspend"); + break; + case SettingsKey::MUTE_ON_SHUTDOWN: + keyStr = _T("MuteOnShutdown"); + break; + case SettingsKey::MUTE_ON_LOGOUT: + keyStr = _T("MuteOnLogout"); } return keyStr; } @@ -130,4 +138,4 @@ bool Settings::SetValue(SettingsKey key, DWORD value) return false; } return true; -} \ No newline at end of file +} diff --git a/WinMute/Settings.h b/WinMute/Settings.h index 790dd0b..4d11c37 100644 --- a/WinMute/Settings.h +++ b/WinMute/Settings.h @@ -36,9 +36,12 @@ POSSIBILITY OF SUCH DAMAGE. #include "StdAfx.h" enum class SettingsKey { - MUTE_ON_LOCK, - MUTE_ON_SCREENSAVER, - RESTORE_AUDIO + MUTE_ON_LOCK + , MUTE_ON_SCREENSAVER + , RESTORE_AUDIO + , MUTE_ON_SUSPEND + , MUTE_ON_SHUTDOWN + , MUTE_ON_LOGOUT }; class Settings { @@ -57,4 +60,4 @@ public: private: HKEY hRegSettingsKey_; -}; \ No newline at end of file +}; diff --git a/WinMute/StdAfx.h b/WinMute/StdAfx.h index 4c351a2..0a23875 100644 --- a/WinMute/StdAfx.h +++ b/WinMute/StdAfx.h @@ -1,6 +1,6 @@ /* WinMute - Copyright (c) 2017, Alexander Steinhoefer + Copyright (c) 2020, Alexander Steinhoefer ----------------------------------------------------------------------------- Redistribution and use in source and binary forms, with or without diff --git a/WinMute/WinMain.cpp b/WinMute/WinMain.cpp index a5bd361..0a9826d 100644 --- a/WinMute/WinMain.cpp +++ b/WinMute/WinMain.cpp @@ -1,6 +1,6 @@ /* WinMute - Copyright (c) 2017, Alexander Steinhoefer + Copyright (c) 2020, Alexander Steinhoefer ----------------------------------------------------------------------------- Redistribution and use in source and binary forms, with or without diff --git a/WinMute/WinMute.cpp b/WinMute/WinMute.cpp index 3b17c21..2ad4db2 100644 --- a/WinMute/WinMute.cpp +++ b/WinMute/WinMute.cpp @@ -1,6 +1,6 @@ /* WinMute - Copyright (c) 2017, Alexander Steinhoefer + Copyright (c) 2020, Alexander Steinhoefer ----------------------------------------------------------------------------- Redistribution and use in source and binary forms, with or without @@ -60,14 +60,13 @@ static LRESULT CALLBACK WinMuteWndProc(HWND hWnd, UINT msg, WPARAM wParam, WinMute::MuteConfig::MuteConfig() { - this->withRestore.muteOnLock = true; - this->withRestore.muteOnScreensaver = true; - this->withRestore.muteOnRemoteSession = true; + this->withRestore.onLock = true; + this->withRestore.onScreensaver = true; this->restoreAudio = true; - this->noRestore.muteOnLogoff = false; - this->noRestore.muteOnSuspend = false; - this->noRestore.muteOnShutdown = false; + this->noRestore.onLogoff = false; + this->noRestore.onSuspend = false; + this->noRestore.onShutdown = false; } WinMute::WinMute() : @@ -129,7 +128,9 @@ bool WinMute::InitAudio() return true; } -#define CHECK_MENU_ITEM(cond) (cond) ? MF_CHECKED : MF_UNCHECKED +#define CHECK_MENU_ITEM(id, cond) \ + (CheckMenuItem(hTrayMenu_, ID_TRAYMENU_ ## id, \ + (cond) ? MF_CHECKED : MF_UNCHECKED) != -1) bool WinMute::InitTrayMenu() { hTrayMenu_ = LoadMenu(hglobInstance, MAKEINTRESOURCE(IDR_TRAYMENU)); @@ -137,12 +138,12 @@ bool WinMute::InitTrayMenu() PrintWindowsError(_T("LoadMenu")); return false; } else if ( - CheckMenuItem(hTrayMenu_, ID_TRAYMENU_MUTEONLOCK, - CHECK_MENU_ITEM(muteConfig_.withRestore.muteOnLock)) == -1 || - CheckMenuItem(hTrayMenu_, ID_TRAYMENU_MUTEONSCREENSAVER, - CHECK_MENU_ITEM(muteConfig_.withRestore.muteOnScreensaver)) == -1 || - CheckMenuItem(hTrayMenu_, ID_TRAYMENU_RESTOREAUDIO, - CHECK_MENU_ITEM(muteConfig_.restoreAudio)) == -1) { + !CHECK_MENU_ITEM(MUTEONLOCK, muteConfig_.withRestore.onLock) || + !CHECK_MENU_ITEM(MUTEONSCREENSAVER, muteConfig_.withRestore.onScreensaver) || + !CHECK_MENU_ITEM(RESTOREAUDIO, muteConfig_.restoreAudio) || + !CHECK_MENU_ITEM(MUTEONSUSPEND, muteConfig_.noRestore.onSuspend) || + !CHECK_MENU_ITEM(MUTEONSHUTDOWN, muteConfig_.noRestore.onShutdown) || + !CHECK_MENU_ITEM(MUTEONLOGOUT, muteConfig_.noRestore.onLogoff)) { return false; } return true; @@ -168,7 +169,7 @@ bool WinMute::Init() return false; } - if (muteConfig_.withRestore.muteOnScreensaver) { + if (muteConfig_.withRestore.onScreensaver) { if (!scrnSaverNoti_.ActivateNotifications(hWnd_)) { return false; } @@ -194,12 +195,20 @@ bool WinMute::Init() bool WinMute::LoadDefaults() { - muteConfig_.withRestore.muteOnLock = + muteConfig_.withRestore.onLock = settings_.QueryValue(SettingsKey::MUTE_ON_LOCK, 1) != 0; - muteConfig_.withRestore.muteOnScreensaver = + muteConfig_.withRestore.onScreensaver = settings_.QueryValue(SettingsKey::MUTE_ON_SCREENSAVER, 1) != 0; muteConfig_.restoreAudio = settings_.QueryValue(SettingsKey::RESTORE_AUDIO, 1) != 0; + + muteConfig_.noRestore.onLogoff = + settings_.QueryValue(SettingsKey::MUTE_ON_LOGOUT, 0) != 0; + muteConfig_.noRestore.onSuspend = + settings_.QueryValue(SettingsKey::MUTE_ON_SUSPEND, 0) != 0; + muteConfig_.noRestore.onShutdown = + settings_.QueryValue(SettingsKey::MUTE_ON_SHUTDOWN, 0) != 0; + return true; } @@ -235,11 +244,21 @@ LRESULT CALLBACK WinMute::WindowProc(HWND hWnd, UINT msg, case ID_TRAYMENU_EXIT: SendMessage(hWnd, WM_CLOSE, 0, 0); break; + case ID_TRAYMENU_MUTE: { + bool state = false; + ToggleMenuCheck(ID_TRAYMENU_MUTE, &state); + if (!state) { + audio_->UnMute(); + } else { + audio_->Mute(); + } + break; + } case ID_TRAYMENU_MUTEONLOCK: ToggleMenuCheck(ID_TRAYMENU_MUTEONLOCK, - &muteConfig_.withRestore.muteOnLock); + &muteConfig_.withRestore.onLock); settings_.SetValue(SettingsKey::MUTE_ON_LOCK, - muteConfig_.withRestore.muteOnLock); + muteConfig_.withRestore.onLock); break; case ID_TRAYMENU_RESTOREAUDIO: ToggleMenuCheck(ID_TRAYMENU_RESTOREAUDIO, &muteConfig_.restoreAudio); @@ -248,32 +267,33 @@ LRESULT CALLBACK WinMute::WindowProc(HWND hWnd, UINT msg, break; case ID_TRAYMENU_MUTEONSCREENSAVER: ToggleMenuCheck(ID_TRAYMENU_MUTEONSCREENSAVER, - &muteConfig_.withRestore.muteOnScreensaver); + &muteConfig_.withRestore.onScreensaver); settings_.SetValue(SettingsKey::MUTE_ON_SCREENSAVER, - muteConfig_.withRestore.muteOnScreensaver); - if (muteConfig_.withRestore.muteOnScreensaver) { + muteConfig_.withRestore.onScreensaver); + if (muteConfig_.withRestore.onScreensaver) { scrnSaverNoti_.ActivateNotifications(hWnd_); } else { scrnSaverNoti_.ClearNotifications(); } break; case ID_TRAYMENU_MUTEONSHUTDOWN: + ToggleMenuCheck(ID_TRAYMENU_MUTEONSHUTDOWN, + &muteConfig_.noRestore.onShutdown); + settings_.SetValue(SettingsKey::MUTE_ON_LOGOUT, + muteConfig_.noRestore.onShutdown); break; case ID_TRAYMENU_MUTEONSUSPEND: - break; - case ID_TRAYMENU_MUTEONLOGOFF: - break; - case ID_TRAYMENU_MUTE: { - bool state = false; - ToggleMenuCheck(ID_TRAYMENU_MUTE, &state); - if (!state) { - audio_->UnMute(); - } else { - audio_->Mute(); - } + ToggleMenuCheck(ID_TRAYMENU_MUTEONSUSPEND, + &muteConfig_.noRestore.onSuspend); + settings_.SetValue(SettingsKey::MUTE_ON_SUSPEND, + muteConfig_.noRestore.onSuspend); + break; + case ID_TRAYMENU_MUTEONLOGOUT: + ToggleMenuCheck(ID_TRAYMENU_MUTEONLOGOUT, + &muteConfig_.noRestore.onLogoff); + settings_.SetValue(SettingsKey::MUTE_ON_LOGOUT, + muteConfig_.noRestore.onLogoff); break; - } default: - __assume(0); } return 0; } @@ -302,45 +322,47 @@ LRESULT CALLBACK WinMute::WindowProc(HWND hWnd, UINT msg, static bool wasAlreadyMuted = false; if (wParam == WTS_SESSION_LOCK) { wasAlreadyMuted = audio_->IsMuted(); - if (!wasAlreadyMuted && muteConfig_.withRestore.muteOnLock) { + if (!wasAlreadyMuted && muteConfig_.withRestore.onLock) { audio_->Mute(); } } else if (wParam == WTS_SESSION_UNLOCK) { if (!wasAlreadyMuted && muteConfig_.restoreAudio && - muteConfig_.withRestore.muteOnLock) { + muteConfig_.withRestore.onLock) { audio_->UnMute(); } - } else if (wParam == WTS_SESSION_LOGOFF) { - if (muteConfig_.noRestore.muteOnLogoff) { - audio_->Mute(); - } - } else if (wParam == WTS_REMOTE_DISCONNECT) { - wasAlreadyMuted = audio_->IsMuted(); - if (!wasAlreadyMuted && - muteConfig_.withRestore.muteOnRemoteSession) { - audio_->Mute(); - } - } else if (wParam == WTS_REMOTE_DISCONNECT) { - if (!wasAlreadyMuted && - muteConfig_.restoreAudio && - muteConfig_.withRestore.muteOnRemoteSession) { - audio_->UnMute(); - } } return 0; } + case WM_POWERBROADCAST: + if (wParam == PBT_APMSUSPEND) { + if (muteConfig_.noRestore.onSuspend) { + audio_->Mute(); + } + } + break; + case WM_QUERYENDSESSION: + if (lParam == 0) { // Shutdown + if (muteConfig_.noRestore.onShutdown) { + audio_->Mute(); + } + } else if (lParam == ENDSESSION_LOGOFF) { + if (muteConfig_.noRestore.onLogoff) { + audio_->Mute(); + } + } + break; case WM_SCRNSAVE_CHANGE: { static bool wasAlreadyMuted = false; if (wParam == SCRNSAVE_START) { wasAlreadyMuted = audio_->IsMuted(); - if (!wasAlreadyMuted && muteConfig_.withRestore.muteOnScreensaver) { + if (!wasAlreadyMuted && muteConfig_.withRestore.onScreensaver) { audio_->Mute(); } } else if (wParam == SCRNSAVE_STOP) { if (!wasAlreadyMuted && muteConfig_.restoreAudio && - muteConfig_.withRestore.muteOnScreensaver) { + muteConfig_.withRestore.onScreensaver) { audio_->UnMute(); } } diff --git a/WinMute/WinMute.h b/WinMute/WinMute.h index 11bfeea..c721893 100644 --- a/WinMute/WinMute.h +++ b/WinMute/WinMute.h @@ -56,16 +56,15 @@ private: struct MuteConfig { MuteConfig(); struct { - bool muteOnLock; - bool muteOnScreensaver; - bool muteOnRemoteSession; + bool onLock; + bool onScreensaver; } withRestore; + bool restoreAudio; struct { - bool muteOnLogoff; - bool muteOnShutdown; - bool muteOnSuspend; + bool onLogoff; + bool onShutdown; + bool onSuspend; } noRestore; - bool restoreAudio; } muteConfig_; TrayIcon trayIcon_; diff --git a/WinMute/res.rc b/WinMute/res.rc index 674104e..ef9f7d2 100644 --- a/WinMute/res.rc +++ b/WinMute/res.rc @@ -60,8 +60,12 @@ BEGIN MENUITEM "... Workstation is locked", ID_TRAYMENU_MUTEONLOCK, CHECKED MENUITEM "... Screensaver starts", ID_TRAYMENU_MUTEONSCREENSAVER, CHECKED MENUITEM SEPARATOR - MENUITEM "Afterwards...", ID_TRAYMENU_AFTERWARDS, INACTIVE - MENUITEM "... Restore volume", ID_TRAYMENU_RESTOREAUDIO, CHECKED + MENUITEM "... Restore volume when returning", ID_TRAYMENU_RESTOREAUDIO, CHECKED + MENUITEM SEPARATOR + MENUITEM "Mute on (no volume restore)...", ID_TRAYMENU_AFTERWARDS, INACTIVE + MENUITEM "... Shutdown", ID_TRAYMENU_MUTEONSHUTDOWN + MENUITEM "... Sleep", ID_TRAYMENU_MUTEONSUSPEND + MENUITEM "... Logout", ID_TRAYMENU_MUTEONLOGOUT MENUITEM SEPARATOR MENUITEM "Mute now", ID_TRAYMENU_MUTE MENUITEM SEPARATOR @@ -81,7 +85,7 @@ CAPTION "About WinMute" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "OK",IDOK,194,7,50,14 - LTEXT "WinMute v1.4.6",IDC_STATIC,43,9,67,11 + LTEXT "WinMute v1.5.0",IDC_STATIC,43,9,67,11 CONTROL "lx-systems - lx-s.de",IDC_LINK_HOMEPAGE, "SysLink",WS_TABSTOP,43,35,69,13 LTEXT "Copyright © 2020, Alexander Steinhöfer",IDC_STATIC,43,22,148,12 @@ -117,8 +121,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,4,6,0 - PRODUCTVERSION 1,4,6,0 + FILEVERSION 1,5,0,0 + PRODUCTVERSION 1,5,0,0 FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L @@ -134,24 +138,24 @@ BEGIN BLOCK "000004b0" BEGIN VALUE "CompanyName", "lx-systems" - VALUE "FileDescription", "Automatic volume muting, when PC is locked." - VALUE "FileVersion", "1.4.6.0" + VALUE "FileDescription", "Automatic volume muting." + VALUE "FileVersion", "1.5.0.0" VALUE "InternalName", "WinMute" VALUE "LegalCopyright", "Copyright (c) 2020, Alexander Steinhöfer" VALUE "OriginalFilename", "WinMute.exe" VALUE "ProductName", "WinMute" - VALUE "ProductVersion", "1.4.6.0" + VALUE "ProductVersion", "1.5.0.0" END BLOCK "040704b0" BEGIN VALUE "CompanyName", "lx-systems" - VALUE "FileDescription", "Automatisches Stummschalten beim Sperren der Workstation." - VALUE "FileVersion", "1.4.6.0" + VALUE "FileDescription", "Automatisches Stummschalten des PCs." + VALUE "FileVersion", "1.5.0.0" VALUE "InternalName", "WinMute" VALUE "LegalCopyright", "Copyright (c) 2020, Alexander Steinhöfer" VALUE "OriginalFilename", "WinMute.exe" VALUE "ProductName", "WinMute" - VALUE "ProductVersion", "1.4.6.0" + VALUE "ProductVersion", "1.5.0.0" END END BLOCK "VarFileInfo" diff --git a/WinMute/resource.h b/WinMute/resource.h index 9c34587..ca7cab9 100644 --- a/WinMute/resource.h +++ b/WinMute/resource.h @@ -23,13 +23,25 @@ #define ID_TRAYMENU_40011 40011 #define ID_TRAYMENU_MUTEON 40012 #define ID_TRAYMENU_AFTERWARDS 40013 +#define ID_TRAYMENU_MUTEONSUSPEND 40014 +#define ID_TRAYMENU_40015 40015 +#define ID_TRAYMENU_SPECIAL 40016 +#define ID_SPECIAL_MUTEWHEN 40017 +#define ID_TRAYMENU_40018 40018 +#define ID_TRAYMENU_40019 40019 +#define ID_TRAYMENU_40020 40020 +#define ID_TRAYMENU_MUTEONSHUTDOWN 40021 +#define ID_TRAYMENU_MUTEONSLEEP 40022 +#define ID_TRAYMENU_MUTEONLOGOFF 40023 +#define ID_TRAYMENU_MUTEONLOGOUT 40024 +#define ID_TRAYMENU_40025 40025 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 108 -#define _APS_NEXT_COMMAND_VALUE 40014 +#define _APS_NEXT_COMMAND_VALUE 40026 #define _APS_NEXT_CONTROL_VALUE 1002 #define _APS_NEXT_SYMED_VALUE 101 #endif