# PowerToys | Microsoft | Knowledge Base | Instagit

Microsoft PowerToys is a collection of utilities that supercharge productivity and customization on Windows

GitHub Stars: 130k

Repository: https://github.com/microsoft/PowerToys

---

## Articles

### [Understanding the PowerToys Update Mechanism and Auto-Update Flow](/microsoft/PowerToys/understanding-power-toys-update-mechanism-auto-update-flow)

Understand the PowerToys update mechanism and auto-update flow. Discover how PowerToys manages updates, from manual checks to automatic background downloads, and how settings control the process.

- Tags: internals
- Published: 2026-02-25

### [How to Write Effective Unit Tests for PowerToys Modules: A Complete Guide](/microsoft/PowerToys/how-to-write-unit-tests-power-toys-modules)

Learn to write effective unit tests for PowerToys modules using MSTest and WinAppDriver. Follow best practices for fast, reliable validation of your code.

- Tags: how-to-guide
- Published: 2026-02-25

### [Memory Management and Resource Cleanup in PowerToys Modules: A Complete Guide to RAII Best Practices](/microsoft/PowerToys/best-practices-memory-management-resource-cleanup-power-toys)

Master memory management and resource cleanup in PowerToys modules with RAII best practices. Learn to leverage unique_ptr, shared_ptr, and WIL for automatic cleanup.

- Tags: best-practices
- Published: 2026-02-25

### [Implementing FancyZones Window Layout Zones: PowerToys Development Guide](/microsoft/PowerToys/implementing-fancyzones-window-layout-zones-development)

Learn to implement FancyZones window layout zones with this PowerToys development guide. Discover the three-layer architecture, JSON persistence, and programmatic window snapping.

- Tags: development-guide
- Published: 2026-02-25

### [PowerToys Keyboard Manager Remapping Engine Internals: Low-Level Hook Architecture Explained](/microsoft/PowerToys/power-toys-keyboard-manager-remapping-engine-internals)

Discover how the PowerToys Keyboard Manager uses a low-level keyboard hook to remap keys. Learn about its stateful engine and SendInput synthesis for seamless input redirection.

- Tags: internals
- Published: 2026-02-25

### [Using MonitorInfo to Detect and Manage Multi-Monitor Configurations in PowerToys](/microsoft/PowerToys/using-monitorinfo-detect-multi-monitor-configurations)

Learn how to use MonitorInfo in PowerToys to detect and manage multi-monitor configurations. This C++ abstraction simplifies display layout detection and DPI scaling.

- Tags: how-to-guide
- Published: 2026-02-25

### [Implementing DPI-Aware Functionality in PowerToys Modules Using DPIAware](/microsoft/PowerToys/implementing-dpi-aware-functionality-aware-class)

Learn how PowerToys modules implement DPI aware functionality using DPIAware. Discover how to enable per-monitor DPI awareness and convert UI coordinates efficiently.

- Tags: how-to-guide
- Published: 2026-02-25

### [Developing Shell Extensions for File Explorer Context Menus in PowerToys: A Complete Guide](/microsoft/PowerToys/developing-shell-extensions-file-explorer-context-menus)

Learn to develop File Explorer context menu shell extensions in PowerToys. This guide covers using IExplorerCommand and COM objects for dynamic sub-menus in the New+ module.

- Tags: how-to-guide
- Published: 2026-02-25

### [How to Send Toast Notifications Using the PowerToys Notifications API](/microsoft/PowerToys/how-to-send-toast-notifications-power-toys-api)

Learn to send custom Windows toast notifications with progress bars and action buttons using the PowerToys Notifications API. Integrate easily with C++.

- Tags: how-to-guide
- Published: 2026-02-25

### [Handling Process Elevation and Running Modules as Administrator in PowerToys](/microsoft/PowerToys/handling-process-elevation-running-modules-as-admin)

Learn how PowerToys handles process elevation and running modules as administrator. Discover its lightweight IElevationHelper interface for secure privileged operations.

- Tags: internals
- Published: 2026-02-25

### [Implementing Localization for PowerToys Modules Using .resx and .resw Files](/microsoft/PowerToys/implementing-localization-power-toys-resx-resw)

Learn to implement localization for PowerToys modules using .resx and .resw files. Discover how PowerToys manages culture-specific resources for a seamless user experience.

- Tags: how-to-guide
- Published: 2026-02-25

### [How to Debug PowerToys Modules Effectively with Visual Studio: A Complete Guide](/microsoft/PowerToys/debugging-power-toys-modules-visual-studio-debugger)

Effectively debug PowerToys modules using the Visual Studio debugger. Attach to PowerToys.exe and step through source code with full symbol support for efficient troubleshooting.

- Tags: how-to-guide
- Published: 2026-02-25

### [How to Build PowerToys with Visual Studio and build.cmd Scripts](/microsoft/PowerToys/building-power-toys-visual-studio-build-cmd)

Easily build PowerToys from source using Visual Studio and build.cmd scripts. This guide explains how to configure your environment and use MSBuild for efficient compilation.

- Tags: how-to-guide
- Published: 2026-02-25

### [Understanding the Differences Between Simple, External Application, and Context Handler Module Patterns in PowerToys](/microsoft/PowerToys/understanding-module-patterns-simple-external-context)

Explore the distinctions between Simple, External Application, and Context Handler module patterns in PowerToys. Understand how each integrates with the runner and File Explorer for enhanced functionality.

- Tags: internals
- Published: 2026-02-25

### [Creating a New PowerToys Module from Scratch: Step-by-Step Guide](/microsoft/PowerToys/creating-new-power-toys-module-from-scratch)

Learn to create a new PowerToys module from scratch with this step-by-step guide. Discover how to leverage the project template and integrate your module seamlessly. Get started today!

- Tags: how-to-guide
- Published: 2026-02-25

### [Adding Telemetry Events Using the PowerToys Telemetry Framework: A Developer’s Guide](/microsoft/PowerToys/adding-telemetry-events-power-toys-framework)

Learn to add telemetry events using the PowerToys telemetry framework. Follow this developer guide to create and emit events efficiently.

- Tags: how-to-guide
- Published: 2026-02-25

### [Setting Up spdlog Logging in C++ PowerToys Modules: A Complete Implementation Guide](/microsoft/PowerToys/setting-up-spdlog-logging-c-modules)

Implement spdlog logging in C++ PowerToys modules. Learn how to initialize and use the central logger for efficient debugging and error tracking throughout your PowerToys development.

- Tags: how-to-guide
- Published: 2026-02-25

### [How PowerToys Settings v2 Works: JSON Configuration and IPC Architecture](/microsoft/PowerToys/how-settings-v2-works-json-ipc)

Discover how PowerToys Settings v2 uses JSON configuration and IPC to synchronize changes between the UI and runner process. Understand the internal workings of this essential Windows utility.

- Tags: internals
- Published: 2026-02-25

### [Configuring PowerToys Settings Using Group Policy Objects (GPO) for Enterprise Deployment](/microsoft/PowerToys/configuring-powertoys-gpo-enterprise-deployment)

Learn to configure PowerToys settings with Group Policy Objects GPO for enterprise deployment. Centralize management and control PowerToys across your organization via registry policies.

- Tags: how-to-guide
- Published: 2026-02-25

### [How to Add Global Hotkeys Using the Centralized Hotkey System in PowerToys](/microsoft/PowerToys/how-to-add-global-hotkeys-power-toys)

Learn to add global hotkeys in PowerToys by implementing GetHotkeys and handling callbacks via OnHotkey. The centralized HotkeyManager registers your shortcuts automatically.

- Tags: how-to-guide
- Published: 2026-02-25

### [Understanding TwoWayPipeMessageIPC Communication Between the PowerToys Runner and Modules](/microsoft/PowerToys/understanding-twowaypipemessageipc-communication)

Learn how TwoWayPipeMessageIPC enables bidirectional JSON communication between PowerToys Runner and modules using named pipes. Explore the C++ implementation and C# WinRT wrapper.

- Tags: internals
- Published: 2026-02-25

### [How to Implement the PowertoyModuleIface Interface for a New PowerToys Utility](/microsoft/PowerToys/how-to-implement-powertoymoduleiface-for-new-utility)

Learn how to implement the PowertoyModuleIface interface for your new PowerToys utility. This guide covers DLL creation, interface derivation, and essential life-cycle methods like enable and disable.

- Tags: how-to-guide
- Published: 2026-02-25

