From dbc2455a78c88954ef1ce888cd7af9963115ffa0 Mon Sep 17 00:00:00 2001 From: AlexanderPro Date: Tue, 22 Aug 2023 15:50:36 +0300 Subject: [PATCH] Added the ability to insert menu items on WM_INITMENUPOPUP event for discord, chrome, terminal and other applications. --- SmartSystemMenu/Forms/MainForm.cs | 159 ++++++++---------- SmartSystemMenu/Forms/SettingsForm.cs | 14 +- SmartSystemMenu/Hooks/CBTHook.cs | 2 +- SmartSystemMenu/Hooks/CallWndProcHook.cs | 20 ++- SmartSystemMenu/Hooks/GetMsgHook.cs | 20 ++- SmartSystemMenu/Hooks/SysCommandEventArgs.cs | 8 +- SmartSystemMenu/Hooks/WndProcEventArgs.cs | 23 --- SmartSystemMenu/Native/Constants.cs | 30 ++-- .../Settings/SmartSystemMenuSettings.cs | 88 ++++++++-- SmartSystemMenu/SmartSystemMenu.csproj | 3 +- SmartSystemMenu/SmartSystemMenu.xml | 10 +- SmartSystemMenu/SmartSystemMenu64.exe | Bin 1189888 -> 1192960 bytes SmartSystemMenu/SystemMenu.cs | 31 ++-- SmartSystemMenu/Window.cs | 34 +++- SmartSystemMenuHook/SmartSystemMenuHook.cpp | 34 ++-- SmartSystemMenuHook/SmartSystemMenuHook.h | 40 ++--- 16 files changed, 319 insertions(+), 197 deletions(-) delete mode 100644 SmartSystemMenu/Hooks/WndProcEventArgs.cs diff --git a/SmartSystemMenu/Forms/MainForm.cs b/SmartSystemMenu/Forms/MainForm.cs index 32365b4..4e92380 100644 --- a/SmartSystemMenu/Forms/MainForm.cs +++ b/SmartSystemMenu/Forms/MainForm.cs @@ -128,7 +128,7 @@ protected override void OnLoad(EventArgs e) { var processPath = window.Process?.GetMainModuleFileName() ?? string.Empty; var fileName = Path.GetFileName(processPath); - if (!string.IsNullOrEmpty(fileName) && _settings.ProcessExclusions.Contains(fileName.ToLower())) + if (!string.IsNullOrEmpty(fileName) && _settings.ExcludedProcessNames.Contains(fileName.ToLower()) || _settings.InitEventProcessNames.Contains(fileName.ToLower())) { continue; } @@ -136,31 +136,8 @@ protected override void OnLoad(EventArgs e) var isAdded = window.Menu.Create(); if (isAdded) { - window.Menu.CheckMenuItem(window.ProcessPriority.GetMenuItemId(), true); - if (window.AlwaysOnTop) - { - window.Menu.CheckMenuItem(MenuItemId.SC_TOPMOST, true); - } - - if (window.IsExToolWindow) - { - window.Menu.CheckMenuItem(MenuItemId.SC_HIDE_FOR_ALT_TAB, true); - } - - if (window.IsDisabledMinimizeButton) - { - window.Menu.CheckMenuItem(MenuItemId.SC_DISABLE_MINIMIZE_BUTTON, true); - } - - if (window.IsDisabledMaximizeButton) - { - window.Menu.CheckMenuItem(MenuItemId.SC_DISABLE_MAXIMIZE_BUTTON, true); - } - - if (window.IsDisabledCloseButton) - { - window.Menu.CheckMenuItem(MenuItemId.SC_DISABLE_CLOSE_BUTTON, true); - } + window.CheckDefaultMenuItems(); + window.NoRestoreMenu = !string.IsNullOrEmpty(fileName) && _settings.NoRestoreMenuProcessNames.Contains(fileName.ToLower()); var windowClassName = window.GetClassName(); var states = _windowSettings.Find(windowClassName, processPath); @@ -173,11 +150,13 @@ protected override void OnLoad(EventArgs e) } _callWndProcHook = new CallWndProcHook(Handle, MenuItemId.SC_DRAG_BY_MOUSE); - _callWndProcHook.CallWndProc += WindowProc; + _callWndProcHook.SysCommand += SysCommand; + _callWndProcHook.InitMenu += InitMenu; _callWndProcHook.Start(); _getMsgHook = new GetMsgHook(Handle, MenuItemId.SC_DRAG_BY_MOUSE); - _getMsgHook.GetMsg += WindowGetMsg; + _getMsgHook.SysCommand += SysCommand; + _getMsgHook.InitMenu += InitMenu; _getMsgHook.Start(); _shellHook = new ShellHook(Handle, MenuItemId.SC_DRAG_BY_MOUSE); @@ -414,64 +393,79 @@ private void WindowCreated(object sender, WindowEventArgs e) if (e.Handle != IntPtr.Zero && !_windows.Any(w => w.Handle == e.Handle)) { GetWindowThreadProcessId(e.Handle, out int processId); + var process = SystemUtils.GetProcessByIdSafely(processId); + var processPath = process?.GetMainModuleFileName() ?? string.Empty; + var fileName = Path.GetFileName(processPath); + if (!string.IsNullOrEmpty(fileName) && + _settings.ExcludedProcessNames.Contains(fileName.ToLower()) || _settings.InitEventProcessNames.Contains(fileName.ToLower())) + { + return; + } + var window = new Window(e.Handle, _settings.MenuItems, _settings.Language); - var filterTitles = new string[] { SHELL_WINDOW_NAME }; - bool isWriteProcess; + CreateMenu(window, processId, processPath); + } + } + + private void InitMenu(object sender, SysCommandEventArgs e) + { + if (e.WParam != IntPtr.Zero && IsWindowVisible(e.WParam)) + { + GetWindowThreadProcessId(e.WParam, out int processId); + var process = SystemUtils.GetProcessByIdSafely(processId); + var processPath = process?.GetMainModuleFileName() ?? string.Empty; + var fileName = Path.GetFileName(processPath); + if (!string.IsNullOrEmpty(fileName) && + _settings.ExcludedProcessNames.Contains(fileName.ToLower()) || !_settings.InitEventProcessNames.Contains(fileName.ToLower())) + { + return; + } + + var window = _windows.FirstOrDefault(w => w.Handle == e.WParam); + if (window == null) + { + window = new Window(e.WParam, _settings.MenuItems, _settings.Language); + CreateMenu(window, processId, processPath); + } + else + { + var systemMenuHandle = window.Menu.MenuHandle; + if (systemMenuHandle != IntPtr.Zero && !window.Menu.IsMenuItem(systemMenuHandle, MenuItemId.SC_SEPARATOR_BOTTOM)) + { + CreateMenu(window, processId, processPath); + } + } + } + } + + private void CreateMenu(Window window, int processId, string processPath) + { + bool isWriteProcess; #if WIN32 - isWriteProcess = !Environment.Is64BitOperatingSystem || SystemUtils.IsWow64Process(processId); + isWriteProcess = !Environment.Is64BitOperatingSystem || SystemUtils.IsWow64Process(processId); #else - isWriteProcess = Environment.Is64BitOperatingSystem && !SystemUtils.IsWow64Process(processId); + isWriteProcess = Environment.Is64BitOperatingSystem && !SystemUtils.IsWow64Process(processId); #endif - - if (isWriteProcess && !filterTitles.Any(s => window.GetWindowText() == s)) + var filterTitles = new string[] { SHELL_WINDOW_NAME }; + if (isWriteProcess && !filterTitles.Any(s => window.GetWindowText() == s)) + { + var isAdded = window.Menu.Create(); + if (isAdded) { - var processPath = window.Process?.GetMainModuleFileName() ?? string.Empty; + window.CheckDefaultMenuItems(); + var fileName = Path.GetFileName(processPath); - if (!string.IsNullOrEmpty(fileName) && _settings.ProcessExclusions.Contains(fileName.ToLower())) - { - return; - } + window.NoRestoreMenu = !string.IsNullOrEmpty(fileName) && _settings.NoRestoreMenuProcessNames.Contains(fileName.ToLower()); + + _windows.Add(window); - var isAdded = window.Menu.Create(); - if (isAdded) + var windowClassName = window.GetClassName(); + var isConsoleClassName = string.Compare(windowClassName, Window.ConsoleClassName, StringComparison.CurrentCulture) == 0; + var states = isConsoleClassName ? _windowSettings.Find(windowClassName) : _windowSettings.Find(windowClassName, processPath); + if (states.Any()) { - var menuItemId = window.ProcessPriority.GetMenuItemId(); - window.Menu.CheckMenuItem(menuItemId, true); - if (window.AlwaysOnTop) - { - window.Menu.CheckMenuItem(MenuItemId.SC_TOPMOST, true); - } - - if (window.IsExToolWindow) - { - window.Menu.CheckMenuItem(MenuItemId.SC_HIDE_FOR_ALT_TAB, true); - } - - if (window.IsDisabledMinimizeButton) - { - window.Menu.CheckMenuItem(MenuItemId.SC_DISABLE_MINIMIZE_BUTTON, true); - } - - if (window.IsDisabledMaximizeButton) - { - window.Menu.CheckMenuItem(MenuItemId.SC_DISABLE_MAXIMIZE_BUTTON, true); - } - - if (window.IsDisabledCloseButton) - { - window.Menu.CheckMenuItem(MenuItemId.SC_DISABLE_CLOSE_BUTTON, true); - } - - _windows.Add(window); - - var windowClassName = window.GetClassName(); - var isConsoleClassName = string.Compare(windowClassName, Window.ConsoleClassName, StringComparison.CurrentCulture) == 0; - var states = isConsoleClassName ? _windowSettings.Find(windowClassName) : _windowSettings.Find(windowClassName, processPath); - if (states.Any()) - { - window.ApplyState(states[0], _settings.SaveSelectedItems, _settings.MenuItems.WindowSizeItems); - window.Menu.CheckMenuItem(MenuItemId.SC_SAVE_SELECTED_ITEMS, true); - } + window.ApplyState(states[0], _settings.SaveSelectedItems, _settings.MenuItems.WindowSizeItems); + window.Menu.CheckMenuItem(MenuItemId.SC_SAVE_SELECTED_ITEMS, true); } } } @@ -547,11 +541,6 @@ private void WindowKeyboardEvent(object sender, BasicHookEventArgs e) } } - private void WindowProc(object sender, WndProcEventArgs e) - { - WindowGetMsg(sender, new WndProcEventArgs(e.Handle, e.Message, e.WParam, e.LParam)); - } - private void WindowActivate(object sender, WindowEventArgs e) { if (_dimHandle == e.Handle) @@ -560,7 +549,7 @@ private void WindowActivate(object sender, WindowEventArgs e) } } - private void WindowGetMsg(object sender, WndProcEventArgs e) + private void SysCommand(object sender, SysCommandEventArgs e) { var message = e.Message.ToInt64(); if (message == WM_SYSCOMMAND) @@ -1111,7 +1100,7 @@ private void HotKeyHooked(object sender, HotKeyEventArgs e) { } - if (!_settings.ProcessExclusions.Contains(processName.ToLower())) + if (!_settings.ExcludedProcessNames.Contains(processName.ToLower())) { PostMessage(handle, WM_SYSCOMMAND, (uint)e.MenuItemId, 0); e.Succeeded = true; diff --git a/SmartSystemMenu/Forms/SettingsForm.cs b/SmartSystemMenu/Forms/SettingsForm.cs index 2d455bd..0f6cad0 100644 --- a/SmartSystemMenu/Forms/SettingsForm.cs +++ b/SmartSystemMenu/Forms/SettingsForm.cs @@ -96,7 +96,7 @@ private void InitializeControls(SmartSystemMenuSettings settings) btnCancel.Text = settings.Language.GetValue("settings_btn_cancel"); Text = settings.Language.GetValue("settings_form"); - foreach (var processExclusion in settings.ProcessExclusions) + foreach (var processExclusion in settings.ExcludedProcessNames) { var index = gvProcessExclusions.Rows.Add(); var row = gvProcessExclusions.Rows[index]; @@ -543,7 +543,7 @@ private void ButtonApplyClick(object sender, EventArgs e) foreach (DataGridViewRow row in gvProcessExclusions.Rows) { - settings.ProcessExclusions.Add(row.Cells[0].Value.ToString()); + settings.ExcludedProcessNames.Add(row.Cells[0].Value.ToString()); } foreach (DataGridViewRow row in gvWindowSize.Rows) @@ -569,6 +569,16 @@ private void ButtonApplyClick(object sender, EventArgs e) settings.MenuItems.StartProgramItems.Add((StartProgramMenuItem)row.Tag); } + foreach (var processName in _settings.InitEventProcessNames) + { + settings.InitEventProcessNames.Add(processName); + } + + foreach (var processName in _settings.NoRestoreMenuProcessNames) + { + settings.NoRestoreMenuProcessNames.Add(processName); + } + settings.MenuItems.Items = (IList)gvHotkeys.Tag; settings.Closer.Key1 = _closerSettings.Key1; settings.Closer.Key2 = _closerSettings.Key2; diff --git a/SmartSystemMenu/Hooks/CBTHook.cs b/SmartSystemMenu/Hooks/CBTHook.cs index 07dce76..6aa271f 100644 --- a/SmartSystemMenu/Hooks/CBTHook.cs +++ b/SmartSystemMenu/Hooks/CBTHook.cs @@ -55,7 +55,7 @@ public override void ProcessWindowMessage(ref Message m) case WM_SSM_HOOK_HCBT_MINMAX: { - RaiseEvent(MinMax, new SysCommandEventArgs(m.WParam, m.LParam)); + RaiseEvent(MinMax, new SysCommandEventArgs(IntPtr.Zero, IntPtr.Zero, m.WParam, m.LParam)); } break; diff --git a/SmartSystemMenu/Hooks/CallWndProcHook.cs b/SmartSystemMenu/Hooks/CallWndProcHook.cs index 892dec3..1e699da 100644 --- a/SmartSystemMenu/Hooks/CallWndProcHook.cs +++ b/SmartSystemMenu/Hooks/CallWndProcHook.cs @@ -10,7 +10,8 @@ class CallWndProcHook : Hook private IntPtr _cacheHandle; private IntPtr _cacheMessage; - public event EventHandler CallWndProc; + public event EventHandler SysCommand; + public event EventHandler InitMenu; public CallWndProcHook(IntPtr handle, int dragByMouseMenuItem) : base(handle, dragByMouseMenuItem) { @@ -20,8 +21,9 @@ protected override void OnStart() { if (Environment.OSVersion.Version.Major >= 6) { - ChangeWindowMessageFilter(WM_SSM_HOOK_CALLWNDPROC, MSGFLT_ADD); - ChangeWindowMessageFilter(WM_SSM_HOOK_CALLWNDPROC_PARAMS, MSGFLT_ADD); + ChangeWindowMessageFilter(WM_SSM_HOOK_CALLWNDPROC_SYSCOMMAND, MSGFLT_ADD); + ChangeWindowMessageFilter(WM_SSM_HOOK_CALLWNDPROC_SYSCOMMAND_PARAMS, MSGFLT_ADD); + ChangeWindowMessageFilter(WM_SSM_HOOK_CALLWNDPROC_INITMENU, MSGFLT_ADD); } NativeHookMethods.InitializeCallWndProcHook(0, _handle, _dragByMouseMenuItem); @@ -34,20 +36,24 @@ protected override void OnStop() public override void ProcessWindowMessage(ref Message m) { - if (m.Msg == WM_SSM_HOOK_CALLWNDPROC) + if (m.Msg == WM_SSM_HOOK_CALLWNDPROC_SYSCOMMAND) { _cacheHandle = m.WParam; _cacheMessage = m.LParam; } - else if (m.Msg == WM_SSM_HOOK_CALLWNDPROC_PARAMS) + else if (m.Msg == WM_SSM_HOOK_CALLWNDPROC_SYSCOMMAND_PARAMS) { - if (CallWndProc != null && _cacheHandle != IntPtr.Zero && _cacheMessage != IntPtr.Zero) + if (SysCommand != null && _cacheHandle != IntPtr.Zero && _cacheMessage != IntPtr.Zero) { - RaiseEvent(CallWndProc, new WndProcEventArgs(_cacheHandle, _cacheMessage, m.WParam, m.LParam)); + RaiseEvent(SysCommand, new SysCommandEventArgs(_cacheHandle, _cacheMessage, m.WParam, m.LParam)); } _cacheHandle = IntPtr.Zero; _cacheMessage = IntPtr.Zero; } + else if (m.Msg == WM_SSM_HOOK_CALLWNDPROC_INITMENU) + { + RaiseEvent(InitMenu, new SysCommandEventArgs(IntPtr.Zero, IntPtr.Zero, m.WParam, m.LParam)); + } } } } \ No newline at end of file diff --git a/SmartSystemMenu/Hooks/GetMsgHook.cs b/SmartSystemMenu/Hooks/GetMsgHook.cs index b9db692..87ceb76 100644 --- a/SmartSystemMenu/Hooks/GetMsgHook.cs +++ b/SmartSystemMenu/Hooks/GetMsgHook.cs @@ -10,7 +10,8 @@ class GetMsgHook : Hook private IntPtr _cacheHandle; private IntPtr _cacheMessage; - public event EventHandler GetMsg; + public event EventHandler SysCommand; + public event EventHandler InitMenu; public GetMsgHook(IntPtr handle, int dragByMouseMenuItem) : base(handle, dragByMouseMenuItem) { @@ -20,8 +21,9 @@ protected override void OnStart() { if (Environment.OSVersion.Version.Major >= 6) { - ChangeWindowMessageFilter(WM_SSM_HOOK_GETMSG, MSGFLT_ADD); - ChangeWindowMessageFilter(WM_SSM_HOOK_GETMSG_PARAMS, MSGFLT_ADD); + ChangeWindowMessageFilter(WM_SSM_HOOK_GETMSG_SYSCOMMAND, MSGFLT_ADD); + ChangeWindowMessageFilter(WM_SSM_HOOK_GETMSG_SYSCOMMAND_PARAMS, MSGFLT_ADD); + ChangeWindowMessageFilter(WM_SSM_HOOK_GETMSG_INITMENU, MSGFLT_ADD); } NativeHookMethods.InitializeGetMsgHook(0, _handle, _dragByMouseMenuItem); @@ -34,20 +36,24 @@ protected override void OnStop() public override void ProcessWindowMessage(ref Message m) { - if (m.Msg == WM_SSM_HOOK_GETMSG) + if (m.Msg == WM_SSM_HOOK_GETMSG_SYSCOMMAND) { _cacheHandle = m.WParam; _cacheMessage = m.LParam; } - else if (m.Msg == WM_SSM_HOOK_GETMSG_PARAMS) + else if (m.Msg == WM_SSM_HOOK_GETMSG_SYSCOMMAND_PARAMS) { - if (GetMsg != null && _cacheHandle != IntPtr.Zero && _cacheMessage != IntPtr.Zero) + if (SysCommand != null && _cacheHandle != IntPtr.Zero && _cacheMessage != IntPtr.Zero) { - RaiseEvent(GetMsg, new WndProcEventArgs(_cacheHandle, _cacheMessage, m.WParam, m.LParam)); + RaiseEvent(SysCommand, new SysCommandEventArgs(_cacheHandle, _cacheMessage, m.WParam, m.LParam)); } _cacheHandle = IntPtr.Zero; _cacheMessage = IntPtr.Zero; } + else if (m.Msg == WM_SSM_HOOK_GETMSG_INITMENU) + { + RaiseEvent(InitMenu, new SysCommandEventArgs(IntPtr.Zero, IntPtr.Zero, m.WParam, m.LParam)); + } } } } \ No newline at end of file diff --git a/SmartSystemMenu/Hooks/SysCommandEventArgs.cs b/SmartSystemMenu/Hooks/SysCommandEventArgs.cs index b9c3cc9..a3c9a87 100644 --- a/SmartSystemMenu/Hooks/SysCommandEventArgs.cs +++ b/SmartSystemMenu/Hooks/SysCommandEventArgs.cs @@ -4,12 +4,18 @@ namespace SmartSystemMenu.Hooks { class SysCommandEventArgs : EventArgs { + public IntPtr Handle { get; } + + public IntPtr Message { get; } + public IntPtr WParam { get; } public IntPtr LParam { get; } - public SysCommandEventArgs(IntPtr wParam, IntPtr lParam) + public SysCommandEventArgs(IntPtr handle, IntPtr message, IntPtr wParam, IntPtr lParam) { + Handle = handle; + Message = message; WParam = wParam; LParam = lParam; } diff --git a/SmartSystemMenu/Hooks/WndProcEventArgs.cs b/SmartSystemMenu/Hooks/WndProcEventArgs.cs deleted file mode 100644 index e3e01b9..0000000 --- a/SmartSystemMenu/Hooks/WndProcEventArgs.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System; - -namespace SmartSystemMenu.Hooks -{ - class WndProcEventArgs : EventArgs - { - public IntPtr Handle { get; } - - public IntPtr Message { get; } - - public IntPtr WParam { get; } - - public IntPtr LParam { get; } - - public WndProcEventArgs(IntPtr handle, IntPtr message, IntPtr wParam, IntPtr lParam) - { - Handle = handle; - Message = message; - WParam = wParam; - LParam = lParam; - } - } -} diff --git a/SmartSystemMenu/Native/Constants.cs b/SmartSystemMenu/Native/Constants.cs index 64effac..d6da7f4 100644 --- a/SmartSystemMenu/Native/Constants.cs +++ b/SmartSystemMenu/Native/Constants.cs @@ -82,20 +82,22 @@ static class Constants public const int WM_SSM_HOOK_HCBT_MINMAX = WM_APP + 0x0203; public const int WM_SSM_HOOK_HCBT_MOVESIZE = WM_APP + 0x0204; public const int WM_SSM_HOOK_HCBT_ACTIVATE = WM_APP + 0x0205; - public const int WM_SSM_HOOK_CALLWNDPROC = WM_APP + 0x0206; - public const int WM_SSM_HOOK_CALLWNDPROC_PARAMS = WM_APP + 0x0207; - public const int WM_SSM_HOOK_GETMSG = WM_APP + 0x0208; - public const int WM_SSM_HOOK_GETMSG_PARAMS = WM_APP + 0x0209; - public const int WM_SSM_HOOK_KEYBOARD = WM_APP + 0x020A; - public const int WM_SSM_HOOK_KEYBOARD_REPLACED = WM_APP + 0x020B; - public const int WM_SSM_HOOK_KEYBOARDLL = WM_APP + 0x020C; - public const int WM_SSM_HOOK_KEYBOARDLL_REPLACED = WM_APP + 0x020D; - public const int WM_SSM_HOOK_MOUSE = WM_APP + 0x020E; - public const int WM_SSM_HOOK_MOUSE_REPLACED = WM_APP + 0x020F; - public const int WM_SSM_HOOK_MOUSELL = WM_APP + 0x0210; - public const int WM_SSM_HOOK_MOUSELL_REPLACED = WM_APP + 0x0211; - public const int WM_SSM_HOOK_HSHELL_WINDOWCREATED = WM_APP + 0x0212; - public const int WM_SSM_HOOK_HSHELL_WINDOWDESTROYED = WM_APP + 0x0213; + public const int WM_SSM_HOOK_CALLWNDPROC_SYSCOMMAND = WM_APP + 0x0206; + public const int WM_SSM_HOOK_CALLWNDPROC_SYSCOMMAND_PARAMS = WM_APP + 0x0207; + public const int WM_SSM_HOOK_CALLWNDPROC_INITMENU = WM_APP + 0x0208; + public const int WM_SSM_HOOK_GETMSG_SYSCOMMAND = WM_APP + 0x0209; + public const int WM_SSM_HOOK_GETMSG_SYSCOMMAND_PARAMS = WM_APP + 0x020A; + public const int WM_SSM_HOOK_GETMSG_INITMENU = WM_APP + 0x020B; + public const int WM_SSM_HOOK_KEYBOARD = WM_APP + 0x020C; + public const int WM_SSM_HOOK_KEYBOARD_REPLACED = WM_APP + 0x020D; + public const int WM_SSM_HOOK_KEYBOARDLL = WM_APP + 0x020E; + public const int WM_SSM_HOOK_KEYBOARDLL_REPLACED = WM_APP + 0x020F; + public const int WM_SSM_HOOK_MOUSE = WM_APP + 0x0210; + public const int WM_SSM_HOOK_MOUSE_REPLACED = WM_APP + 0x0211; + public const int WM_SSM_HOOK_MOUSELL = WM_APP + 0x0212; + public const int WM_SSM_HOOK_MOUSELL_REPLACED = WM_APP + 0x0213; + public const int WM_SSM_HOOK_HSHELL_WINDOWCREATED = WM_APP + 0x0214; + public const int WM_SSM_HOOK_HSHELL_WINDOWDESTROYED = WM_APP + 0x0215; // SetWindowPos public const uint SWP_NOSIZE = 0x0001; diff --git a/SmartSystemMenu/Settings/SmartSystemMenuSettings.cs b/SmartSystemMenu/Settings/SmartSystemMenuSettings.cs index bb799b0..f1ba53f 100644 --- a/SmartSystemMenu/Settings/SmartSystemMenuSettings.cs +++ b/SmartSystemMenu/Settings/SmartSystemMenuSettings.cs @@ -11,7 +11,11 @@ namespace SmartSystemMenu.Settings { public class SmartSystemMenuSettings : ICloneable { - public IList ProcessExclusions { get; private set; } + public IList ExcludedProcessNames { get; private set; } + + public IList InitEventProcessNames { get; private set; } + + public IList NoRestoreMenuProcessNames { get; private set; } public MenuItems MenuItems { get; private set; } @@ -34,7 +38,9 @@ public class SmartSystemMenuSettings : ICloneable public SmartSystemMenuSettings() { - ProcessExclusions = new List(); + ExcludedProcessNames = new List(); + InitEventProcessNames = new List(); + NoRestoreMenuProcessNames = new List(); MenuItems = new MenuItems(); Closer = new CloserSettings(); Dimmer = new DimmerSettings(); @@ -50,9 +56,19 @@ public object Clone() { var settings = new SmartSystemMenuSettings(); - foreach (var processExclusion in ProcessExclusions) + foreach (var processName in ExcludedProcessNames) + { + settings.ExcludedProcessNames.Add(processName); + } + + foreach (var processName in InitEventProcessNames) { - settings.ProcessExclusions.Add(processExclusion); + settings.InitEventProcessNames.Add(processName); + } + + foreach (var processName in NoRestoreMenuProcessNames) + { + settings.NoRestoreMenuProcessNames.Add(processName); } foreach (var menuItem in MenuItems.WindowSizeItems) @@ -122,7 +138,17 @@ public bool Equals(SmartSystemMenuSettings other) return false; } - if (ProcessExclusions.Count != other.ProcessExclusions.Count) + if (ExcludedProcessNames.Count != other.ExcludedProcessNames.Count) + { + return false; + } + + if (InitEventProcessNames.Count != other.InitEventProcessNames.Count) + { + return false; + } + + if (NoRestoreMenuProcessNames.Count != other.NoRestoreMenuProcessNames.Count) { return false; } @@ -142,9 +168,25 @@ public bool Equals(SmartSystemMenuSettings other) return false; } - for (var i = 0; i < ProcessExclusions.Count; i++) + for (var i = 0; i < ExcludedProcessNames.Count; i++) + { + if (string.Compare(ExcludedProcessNames[i], other.ExcludedProcessNames[i], StringComparison.CurrentCultureIgnoreCase) != 0) + { + return false; + } + } + + for (var i = 0; i < InitEventProcessNames.Count; i++) { - if (string.Compare(ProcessExclusions[i], other.ProcessExclusions[i], StringComparison.CurrentCultureIgnoreCase) != 0) + if (string.Compare(InitEventProcessNames[i], other.InitEventProcessNames[i], StringComparison.CurrentCultureIgnoreCase) != 0) + { + return false; + } + } + + for (var i = 0; i < NoRestoreMenuProcessNames.Count; i++) + { + if (string.Compare(NoRestoreMenuProcessNames[i], other.NoRestoreMenuProcessNames[i], StringComparison.CurrentCultureIgnoreCase) != 0) { return false; } @@ -260,9 +302,19 @@ public override int GetHashCode() { var hashCode = 0; - foreach (var processExclusion in ProcessExclusions) + foreach (var processName in ExcludedProcessNames) { - hashCode ^= processExclusion.GetHashCode(); + hashCode ^= processName.GetHashCode(); + } + + foreach (var processName in InitEventProcessNames) + { + hashCode ^= processName.GetHashCode(); + } + + foreach (var processName in NoRestoreMenuProcessNames) + { + hashCode ^= processName.GetHashCode(); } foreach (var item in MenuItems.WindowSizeItems) @@ -311,12 +363,24 @@ public static SmartSystemMenuSettings Read(string fileName, string languageFileN var document = XDocument.Load(fileName); var languageDocument = XDocument.Load(languageFileName); - settings.ProcessExclusions = document + settings.ExcludedProcessNames = document .XPathSelectElements("/smartSystemMenu/processExclusions/processName") .Where(x => !string.IsNullOrWhiteSpace(x.Value)) .Select(x => x.Value.ToLower()) .ToList(); + settings.InitEventProcessNames = document + .XPathSelectElements("/smartSystemMenu/createMenuOnInitEvent/processName") + .Where(x => !string.IsNullOrWhiteSpace(x.Value)) + .Select(x => x.Value.ToLower()) + .ToList(); + + settings.NoRestoreMenuProcessNames = document + .XPathSelectElements("/smartSystemMenu/noRestoreMenuOnExit/processName") + .Where(x => !string.IsNullOrWhiteSpace(x.Value)) + .Select(x => x.Value.ToLower()) + .ToList(); + settings.MenuItems.WindowSizeItems = document .XPathSelectElements("/smartSystemMenu/menuItems/windowSizeItems/item") .Select(x => new WindowSizeMenuItem @@ -502,7 +566,9 @@ public static void Save(string fileName, SmartSystemMenuSettings settings) { var document = new XDocument(); document.Add(new XElement("smartSystemMenu", - new XElement("processExclusions", settings.ProcessExclusions.Select(x => new XElement("processName", x))), + new XElement("processExclusions", settings.ExcludedProcessNames.Select(x => new XElement("processName", x))), + new XElement("createMenuOnInitEvent", settings.InitEventProcessNames.Select(x => new XElement("processName", x))), + new XElement("noRestoreMenuOnExit", settings.NoRestoreMenuProcessNames.Select(x => new XElement("processName", x))), new XElement("menuItems", new XElement("items", settings.MenuItems.Items.Select(x => new XElement("item", new XAttribute("type", x.Type.ToString()), diff --git a/SmartSystemMenu/SmartSystemMenu.csproj b/SmartSystemMenu/SmartSystemMenu.csproj index fce00d0..ffd8b11 100644 --- a/SmartSystemMenu/SmartSystemMenu.csproj +++ b/SmartSystemMenu/SmartSystemMenu.csproj @@ -253,10 +253,9 @@ - - + Form diff --git a/SmartSystemMenu/SmartSystemMenu.xml b/SmartSystemMenu/SmartSystemMenu.xml index 24ffb4a..2814530 100644 --- a/SmartSystemMenu/SmartSystemMenu.xml +++ b/SmartSystemMenu/SmartSystemMenu.xml @@ -1,13 +1,21 @@  - discord.exe slack.exe dllhost.exe sihost.exe code.exe smartscreen.exe + + discord.exe + chrome.exe + msedge.exe + WindowsTerminal.exe + + + discord.exe + diff --git a/SmartSystemMenu/SmartSystemMenu64.exe b/SmartSystemMenu/SmartSystemMenu64.exe index 1cadea3e39b30f39a6bb5df8a691b84534ab428d..a61cdbcf42b4412f277277006f2cbd2724053907 100644 GIT binary patch delta 143774 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�DXpBgFq=mn;obb@w0v5&sSR;wH;sjpsO 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 AMgRZ+ delta 141205 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

=@U%;8 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 x.Show)) { @@ -157,10 +161,13 @@ public void Destroy() DeleteMenu(menuHandle, MenuItemId.SC_SEPARATOR_BOTTOM, Constants.MF_BYCOMMAND); - var numberItems = GetMenuItemCount(menuHandle); - if (numberItems == DEFAULT_SYSTEM_MENU_NUMBER_ITEMS) + if (restoreMenu) { - GetSystemMenu(WindowHandle, true); + var numberItems = GetMenuItemCount(menuHandle); + if (numberItems == DEFAULT_SYSTEM_MENU_NUMBER_ITEMS) + { + GetSystemMenu(WindowHandle, true); + } } } @@ -239,6 +246,14 @@ public void UncheckTransparencyMenu() CheckMenuItem(MenuItemId.SC_TRANS_DEFAULT, false); } + public bool IsMenuItem(IntPtr menuHandle, int item) + { + var mmi = new MenuItemInfo(); + mmi.cbSize = (uint)Marshal.SizeOf(mmi); + mmi.fMask = MIIM.ID; + return GetMenuItemInfo(menuHandle, item, false, ref mmi); + } + private string GetTransparencyTitle(int id) => id switch { MenuItemId.SC_TRANS_00 => "0%" + GetTitle("trans_opaque", null, false), @@ -288,13 +303,5 @@ private bool InsertSubMenu(IntPtr menuHandle, IntPtr subMenuHandle, int uPositio return true; } - - private bool IsMenuItem(IntPtr menuHandle, int item) - { - var mmi = new MenuItemInfo(); - mmi.cbSize = (uint)Marshal.SizeOf(mmi); - mmi.fMask = MIIM.ID; - return GetMenuItemInfo(menuHandle, item, false, ref mmi); - } } } \ No newline at end of file diff --git a/SmartSystemMenu/Window.cs b/SmartSystemMenu/Window.cs index 49ed674..0fd1f25 100644 --- a/SmartSystemMenu/Window.cs +++ b/SmartSystemMenu/Window.cs @@ -140,6 +140,8 @@ public bool IsDisabledCloseButton public IWin32Window Win32Window => new Win32WindowWrapper(Handle); + public bool NoRestoreMenu { get; set; } + public Window(IntPtr windowHandle) { Handle = windowHandle; @@ -188,7 +190,7 @@ public void Dispose() if (_isManaged) { RestoreFromSystemTray(); - Menu?.Destroy(); + Menu?.Destroy(!NoRestoreMenu); _menuItemRestore?.Dispose(); _menuItemClose?.Dispose(); _systemTrayMenu?.Dispose(); @@ -681,6 +683,36 @@ public void SetStateMinimizeToTrayAlways(bool minimizeAlways) State.MinimizeToTrayAlways = minimizeAlways; } + public void CheckDefaultMenuItems() + { + var menuItemId = ProcessPriority.GetMenuItemId(); + Menu.CheckMenuItem(menuItemId, true); + if (AlwaysOnTop) + { + Menu.CheckMenuItem(MenuItemId.SC_TOPMOST, true); + } + + if (IsExToolWindow) + { + Menu.CheckMenuItem(MenuItemId.SC_HIDE_FOR_ALT_TAB, true); + } + + if (IsDisabledMinimizeButton) + { + Menu.CheckMenuItem(MenuItemId.SC_DISABLE_MINIMIZE_BUTTON, true); + } + + if (IsDisabledMaximizeButton) + { + Menu.CheckMenuItem(MenuItemId.SC_DISABLE_MAXIMIZE_BUTTON, true); + } + + if (IsDisabledCloseButton) + { + Menu.CheckMenuItem(MenuItemId.SC_DISABLE_CLOSE_BUTTON, true); + } + } + public void ApplyState(WindowState state, SaveSelectedItemsSettings settings, IList sizeItems) { if (state.Width > 0 && state.Height > 0) diff --git a/SmartSystemMenuHook/SmartSystemMenuHook.cpp b/SmartSystemMenuHook/SmartSystemMenuHook.cpp index 54825d7..928c0d7 100644 --- a/SmartSystemMenuHook/SmartSystemMenuHook.cpp +++ b/SmartSystemMenuHook/SmartSystemMenuHook.cpp @@ -336,10 +336,18 @@ static LRESULT CALLBACK CallWndProcHookCallback(int code, WPARAM wparam, LPARAM if (code >= 0) { CWPSTRUCT* pCwpStruct = (CWPSTRUCT*)lparam; - if (pCwpStruct->message == WM_SYSCOMMAND) + switch (pCwpStruct->message) { - SendNotifyMessage(hwndMain, WM_SSM_HOOK_CALLWNDPROC, (WPARAM)pCwpStruct->hwnd, pCwpStruct->message); - SendNotifyMessage(hwndMain, WM_SSM_HOOK_CALLWNDPROC_PARAMS, pCwpStruct->wParam, pCwpStruct->lParam); + case WM_SYSCOMMAND: + { + SendNotifyMessage(hwndMain, WM_SSM_HOOK_CALLWNDPROC_SYSCOMMAND, (WPARAM)pCwpStruct->hwnd, pCwpStruct->message); + SendNotifyMessage(hwndMain, WM_SSM_HOOK_CALLWNDPROC_SYSCOMMAND_PARAMS, pCwpStruct->wParam, pCwpStruct->lParam); + } break; + + case WM_INITMENUPOPUP: + { + SendNotifyMessage(hwndMain, WM_SSM_HOOK_CALLWNDPROC_INITMENU, (WPARAM)pCwpStruct->hwnd, pCwpStruct->message); + } break; } } @@ -370,17 +378,21 @@ DLLEXPORT void __stdcall UninitializeGetMsgHook() static LRESULT CALLBACK GetMsgHookCallback(int code, WPARAM wparam, LPARAM lparam) { - if (code >= 0) + if (code >= 0 && wparam == PM_REMOVE) { MSG* pMsg = (MSG*)lparam; - if (pMsg->message == WM_SYSCOMMAND && wparam == PM_REMOVE) + switch (pMsg->message) { - //TCHAR buf[256]; - //int error = GetLastError(); - //wsprintf(buf, L"WM_SYSCOMMAND, Hook, WParam = %d", pMsg->wParam); - //OutputDebugString(buf); - SendNotifyMessage(hwndMain, WM_SSM_HOOK_GETMSG, (WPARAM)pMsg->hwnd, pMsg->message); - SendNotifyMessage(hwndMain, WM_SSM_HOOK_GETMSG_PARAMS, pMsg->wParam, pMsg->lParam); + case WM_SYSCOMMAND: + { + SendNotifyMessage(hwndMain, WM_SSM_HOOK_GETMSG_SYSCOMMAND, (WPARAM)pMsg->hwnd, pMsg->message); + SendNotifyMessage(hwndMain, WM_SSM_HOOK_GETMSG_SYSCOMMAND_PARAMS, pMsg->wParam, pMsg->lParam); + } break; + + case WM_INITMENUPOPUP: + { + SendNotifyMessage(hwndMain, WM_SSM_HOOK_GETMSG_INITMENU, (WPARAM)pMsg->hwnd, pMsg->message); + } break; } } diff --git a/SmartSystemMenuHook/SmartSystemMenuHook.h b/SmartSystemMenuHook/SmartSystemMenuHook.h index f7c6311..6355726 100644 --- a/SmartSystemMenuHook/SmartSystemMenuHook.h +++ b/SmartSystemMenuHook/SmartSystemMenuHook.h @@ -3,25 +3,27 @@ #include -#define WM_SSM_HOOK_HCBT_CREATEWND WM_APP + 0x0201 -#define WM_SSM_HOOK_HCBT_DESTROYWND WM_APP + 0x0202 -#define WM_SSM_HOOK_HCBT_MINMAX WM_APP + 0x0203 -#define WM_SSM_HOOK_HCBT_MOVESIZE WM_APP + 0x0204 -#define WM_SSM_HOOK_HCBT_ACTIVATE WM_APP + 0x0205 -#define WM_SSM_HOOK_CALLWNDPROC WM_APP + 0x0206 -#define WM_SSM_HOOK_CALLWNDPROC_PARAMS WM_APP + 0x0207 -#define WM_SSM_HOOK_GETMSG WM_APP + 0x0208 -#define WM_SSM_HOOK_GETMSG_PARAMS WM_APP + 0x0209 -#define WM_SSM_HOOK_KEYBOARD WM_APP + 0x020A -#define WM_SSM_HOOK_KEYBOARD_REPLACED WM_APP + 0x020B -#define WM_SSM_HOOK_KEYBOARDLL WM_APP + 0x020C -#define WM_SSM_HOOK_KEYBOARDLL_REPLACED WM_APP + 0x020D -#define WM_SSM_HOOK_MOUSE WM_APP + 0x020E -#define WM_SSM_HOOK_MOUSE_REPLACED WM_APP + 0x020F -#define WM_SSM_HOOK_MOUSELL WM_APP + 0x0210 -#define WM_SSM_HOOK_MOUSELL_REPLACED WM_APP + 0x0211 -#define WM_SSM_HOOK_HSHELL_WINDOWCREATED WM_APP + 0x0212 -#define WM_SSM_HOOK_HSHELL_WINDOWDESTROYED WM_APP + 0x0213 +#define WM_SSM_HOOK_HCBT_CREATEWND WM_APP + 0x0201 +#define WM_SSM_HOOK_HCBT_DESTROYWND WM_APP + 0x0202 +#define WM_SSM_HOOK_HCBT_MINMAX WM_APP + 0x0203 +#define WM_SSM_HOOK_HCBT_MOVESIZE WM_APP + 0x0204 +#define WM_SSM_HOOK_HCBT_ACTIVATE WM_APP + 0x0205 +#define WM_SSM_HOOK_CALLWNDPROC_SYSCOMMAND WM_APP + 0x0206 +#define WM_SSM_HOOK_CALLWNDPROC_SYSCOMMAND_PARAMS WM_APP + 0x0207 +#define WM_SSM_HOOK_CALLWNDPROC_INITMENU WM_APP + 0x0208 +#define WM_SSM_HOOK_GETMSG_SYSCOMMAND WM_APP + 0x0209 +#define WM_SSM_HOOK_GETMSG_SYSCOMMAND_PARAMS WM_APP + 0x020A +#define WM_SSM_HOOK_GETMSG_INITMENU WM_APP + 0x020B +#define WM_SSM_HOOK_KEYBOARD WM_APP + 0x020C +#define WM_SSM_HOOK_KEYBOARD_REPLACED WM_APP + 0x020D +#define WM_SSM_HOOK_KEYBOARDLL WM_APP + 0x020E +#define WM_SSM_HOOK_KEYBOARDLL_REPLACED WM_APP + 0x020F +#define WM_SSM_HOOK_MOUSE WM_APP + 0x0210 +#define WM_SSM_HOOK_MOUSE_REPLACED WM_APP + 0x0211 +#define WM_SSM_HOOK_MOUSELL WM_APP + 0x0212 +#define WM_SSM_HOOK_MOUSELL_REPLACED WM_APP + 0x0213 +#define WM_SSM_HOOK_HSHELL_WINDOWCREATED WM_APP + 0x0214 +#define WM_SSM_HOOK_HSHELL_WINDOWDESTROYED WM_APP + 0x0215 #define DLLEXPORT extern "C" __declspec(dllexport)