Create taskbar-ctrl-rightclick-open-file-location.wh.cpp#4058
Open
triatomic wants to merge 3 commits into
Open
Create taskbar-ctrl-rightclick-open-file-location.wh.cpp#4058triatomic wants to merge 3 commits into
triatomic wants to merge 3 commits into
Conversation
New mod: hold a configurable modifier (default Ctrl) while right-clicking a taskbar button to open the running program's file location in Explorer, copy its path to the clipboard, or launch a new elevated instance. Targets the classic taskbar (MSTaskListWClass) used by stock Windows 10, Windows 11 with StartAllBack, and ExplorerPatcher in legacy mode. The suppression of the jump-list/context menu is done by subclassing the taskbar window, and the button-to-process resolution uses MSAA plus the exe's FileDescription, so no private taskbar.dll symbols are required.
Member
|
Any thoughts about supporting the Windows 11 taskbar? I believe that's what most Windhawk users use. windhawk-mods/mods/taskbar-volume-control.wh.cpp Lines 1541 to 1557 in 22ec451 |
Add support for the native Windows 11 XAML taskbar. - Hook the wndproc of Windows.UI.Input.InputSite.WindowClass (under DesktopWindowContentBridge under Shell_TrayWnd) to intercept the configured pointer event before XAML opens the jump list. Inputsite.dll rejects subclassing, so use WindhawkUtils::SetFunctionHook on the wndproc instead. - New taskbarType setting (auto / classic / win11) to pick which path(s) to install. Auto attaches both. - Hook CreateWindowExW and CreateWindowInBand to catch InputSite windows created after init (secondary monitor attach, taskbar relocation). - For button identification on Win11, IUIAutomation::ElementFromPoint descends into the XAML tree where AccessibleObjectFromPoint stops at the DesktopWindowXamlSource host. The button's UIA Name feeds the existing FindWindowByLabel / FileDescription matching.
Contributor
Author
|
Updated to support native windows 11. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
New mod: hold a configurable modifier (default Ctrl) while clicking a taskbar button to:
Works on the classic taskbar (
MSTaskListWClass):The mod subclasses
MSTaskListWClassso the right-click never reaches the taskbar's own context-menu handler (this is what makes it work on StartAllBack, which doesn't go throughtaskbar.dll's_ComputeJumpViewPosition). Button-to-process resolution uses MSAAAccessibleObjectFromPointand, when the accessible value doesn't expose an HWND directly (the StartAllBack case), a fallback that matches against the exe'sFileDescriptionversion-info field with alphanumeric normalization (handles e.g.ConEmu (x64)↔ConEmu64.exe,MSI Afterburner↔MSIAfterburner.exe).Settings
Mod authorship
This mod was created by:
Test plan
.exelocation in Explorer without showing the SAB jump list.exe