Skip to content
 
 

Repository files navigation

MenuTools

MenuTools is a simple program that extends the basic functionality of the Windows system menu.

Native builds are available for x86, x64, and Windows 11 ARM64. MenuTools runs one native coordinator with the tray UI and starts hidden hook hosts for the other application architectures. On ARM64, the ARM64 coordinator starts x86 and x64 hosts so emulated applications remain supported; on x64, the x64 coordinator starts an x86 host.

MenuTools supports Windows 7 SP1 and later. Frame-hosted UWP windows such as Calculator receive the Priority, Transparency, and Always on Top commands. Minimize to Tray remains unavailable for these windows. ApplicationFrameHost integration uses explicit injection and cooperative unload signaling rather than a persistent Windows hook, so closing all frame windows does not leave the hook DLL locked.

For portable use, keep MenuTools.exe, MenuTools64.exe, MenuToolsARM64.exe, and their matching hook DLLs in the same directory. Launch the executable matching Windows (MenuTools64.exe on x64 or MenuToolsARM64.exe on ARM64). Launching MenuTools.exe remains supported and redirects automatically to the native coordinator.

Hook lifecycle tests

The lifecycle tests run entirely inside an ARM64 Windows Sandbox. They verify that MenuTools can attach to a standard window while it is in the background, and that it can detach cleanly even when the window is minimized.

The suite also launches a real frame-hosted UWP app and tests these shutdown sequences with ApplicationFrameHost.exe:

  • close the frame, then stop MenuTools
  • stop MenuTools, then close the frame
  • close the frame and stop MenuTools concurrently
  • stop MenuTools while the frame is minimized
  • detach and reattach without closing the frame

Each scenario checks that the correct menu commands appear, cleanup completes, the processes exit as expected, and the hook DLL unloads. For frame-hosted apps, the tests also confirm that Minimize to Tray is not offered.

To build and run the suite, you need Windows Sandbox and the Visual Studio C++ ARM64 tools. From PowerShell, run:

Sandbox\Build-SandboxHarness.ps1 -Launch

Results are saved in Artifacts\SandboxResults. To build the Sandbox payload without launching it, omit -Launch.

Main features

  • Process priority
  • Window transparency
  • Always on top
  • Minimize to tray

Screenshot

Notepad running on Windows 8 x64
Example: Notepad running on Microsoft Windows 8 x64.

Download

You can download the latest version of the binaries here.

Contact

Feel free to contact me about any questions, suggestions or problems.

About

Adds new features to the system menu of applications

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages