Windows right-click context menu manager, built with WinUI 3 + .NET 10.
中文文档:README.zh-CN.md
| Component | Description |
|---|---|
| Framework | .NET 10 + Windows App SDK (WinUI 3) |
| Target framework | net10.0-windows10.0.26100.0 |
| Packaging | Unpackaged app (WindowsPackageType=None) |
| Architecture | MVVM; registry / Shell logic centralized in Core/ |
| Icons | Built-in Segoe MDL2 glyphs |
- Scenes — file, folder, directory, directory background, desktop background, disk partition, all objects, This PC, Recycle Bin, libraries, etc.
- Menu editing — new menu (ShellNew), Send To, Open With, Win+X, enhanced menu, detailed editing, GUID lock.
- Program dictionaries — view built-in / online / user dictionary files.
- Settings, language, about.
All feature pages share a card-based list: rounded cards, compact ToggleSwitch for visibility, transparent icon buttons for edit/delete, and single-line registry paths that expand on hover.
On startup the app checks whether it is already running as administrator. If not, it relaunches itself with runas (triggering UAC) and exits the current instance before the main window appears. If UAC is cancelled, it continues with the current rights (read-only features still work). For registry keys owned by TrustedInstaller, ownership is programmatically taken before writing or deleting. See docs/permissions.md.
Fully code-based — no external language files. Strings are embedded as A("Section.Key", 中文, 英文) in Localization/AppStrings.cs; zh-CN is the default and fallback, with en-US inlined. See docs/localization.md.
- .NET 10 SDK:
global.jsonpins10.0.302(rollForward: latestPatch).dotnet --versionshould print10.0.3xx. - Windows App SDK (WinUI 3): pulled in via the
Microsoft.WindowsAppSDKNuGet package ondotnet restore; no separate install needed. - OS: Windows 10 1809 (
10.0.17763) or later; architecturex86/x64/ARM64.
See docs/building.md.
dotnet build -c Debug
dotnet run --launch-profile "ContextMenuManager (Unpackaged)"This is an unpackaged app and must use the Unpackaged launch profile. A plain dotnet run may fall back to the Package profile and fail due to a missing package identity. The first run pops the UAC elevation prompt.
This project is licensed under the terms in LICENSE.