A Windows Forms utility written in C# that allows you to inspect, select, and control other open windows on the system.
This tool lets you:
- List all visible windows
- Select a target window
- Pin it Always on Top
- Make it click-through
- Adjust window transparency
It uses Win32 API (user32.dll) calls via P/Invoke to manipulate window behavior at the OS level.
You can download the prebuilt executable (ZIP) here:
👉 Download Windows Overlay Controller (.exe)
This is expected for locally built applications.
- Lists all currently visible top-level windows
- Auto-refreshes the window list every 3 seconds
- Manual refresh button available
- Preserves selection when refreshing
- Select a window by its title
- Save selected window for later use
- Open a dedicated control panel for the selected window
- Always on Top (Pin)
- Click-Through Mode (mouse events pass through the window)
- Transparency Control (0–100%)
- Changes apply instantly using Win32 API
- Control panel stays on top for convenience
- Uses
EnumWindowsto enumerate all top-level windows - Filters only visible windows using
IsWindowVisible - Retrieves window titles via
GetWindowText
- Selected windows are identified by their title
FindWindowis used to retrieve the target window handle (HWND)
Window behavior is modified using extended window styles:
WS_EX_LAYEREDfor transparencyWS_EX_TRANSPARENTfor click-throughSetWindowPosfor top-most behaviorSetLayeredWindowAttributesfor alpha blending
All logic is centralized in a reusable WindowUtility helper class.
Textual overview of the project layout:
- Program entry point (
Main) - Window list UI (
NameGetter1) - Window control UI (
WindowControlForm) - Win32 helper utilities (
WindowUtility) - Shared state models (selected window tracking)
- Open the project in Visual Studio
- Build the solution (Any CPU / x86 recommended)
- Run the application
- Select a window from the list
- Click Window Control to modify its behavior
- Language: C#
- Framework: .NET (WinForms)
- Platform: Windows
- UI Toolkit: Windows Forms
- Interop: Win32 API (user32.dll via P/Invoke)
EnumWindowsGetWindowTextFindWindowSetWindowLongSetWindowPosSetLayeredWindowAttributes
- Download and extract the ZIP file
- Run the
.exefile - Select a window from the list
- Click Window Control to modify its behavior
- Open the project in Visual Studio
- Build the solution (Any CPU / x86 recommended)
- Run the application
- Handle windows using HWND instead of title (more reliable)
- Per-window profiles (save/load settings)
- Keyboard shortcuts
- Multi-monitor support
- WPF version for modern UI
- Exception handling for protected windows
This project is released under the MIT License.
Free to use, modify, and extend for learning or personal projects.