From 9b4a2d5c82c4a94aae8c2bf1d1be862e9b1192ae Mon Sep 17 00:00:00 2001
From: =?utf8?q?Alexander=20Steinh=C3=B6fer?=
Date: Mon, 29 Jun 2020 10:40:36 +0200
Subject: [PATCH] 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.
---
Dist/WinMute.nuspec | 14 ++---
Dist/bin/changelog.txt | 3 +
Dist/bin/liesmich.html | 35 +++++++----
Dist/bin/readme.html | 38 +++++++-----
WinMute/Settings.cpp | 10 +++-
WinMute/Settings.h | 11 ++--
WinMute/StdAfx.h | 2 +-
WinMute/WinMain.cpp | 2 +-
WinMute/WinMute.cpp | 132 ++++++++++++++++++++++++-----------------
WinMute/WinMute.h | 13 ++--
WinMute/res.rc | 26 ++++----
WinMute/resource.h | 14 ++++-
12 files changed, 184 insertions(+), 116 deletions(-)
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
© Copyright 2020, Alexander Steinhöfer - www.lx-s.de
Ãber
- WinMute schaltet Windows stumm, sobald sie ihren PC sperren oder sich der Bildschirmschoner einschaltet.
+ WinMute kann Windows automatisch stumm schalten, sobald
+
+ - Sie den PC sperren.
+ - sich der Bildschirmschoner aktiviert.
+ - der PC heruntergefahren wird.
+ - Sie sich Abmelden.
+ - der PC in den Ruhezustand geht.
+
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
© Copyright 2020, by Alexander Steinhöfer - www.lx-s.de
About
- WinMute automatically mutes your PC volume if you lock your screen or the screensaver is running.
+ WinMute automatically can mute your volume when
+
+ - You lock your PC.
+ - The screensaver turns on.
+ - Your PC shuts down
+ - You log off
+ - Your PC goes to sleep
+
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
--
2.43.0