Skip to content

inspect, select, and control other open windows on the system.

Notifications You must be signed in to change notification settings

SuzyUwU/transparency

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🪟 Transparency

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.


📥 Download

You can download the prebuilt executable (ZIP) here:

👉 Download Windows Overlay Controller (.exe)

⚠️ Windows may show a security warning for unsigned executables.
This is expected for locally built applications.


✨ Features

🧾 Window Enumeration

  • Lists all currently visible top-level windows
  • Auto-refreshes the window list every 3 seconds
  • Manual refresh button available
  • Preserves selection when refreshing

🎯 Window Selection

  • Select a window by its title
  • Save selected window for later use
  • Open a dedicated control panel for the selected window

🧷 Window Controls

  • Always on Top (Pin)
  • Click-Through Mode (mouse events pass through the window)
  • Transparency Control (0–100%)

🖥️ Real-Time Control

  • Changes apply instantly using Win32 API
  • Control panel stays on top for convenience

🧠 How It Works

Window Listing

  • Uses EnumWindows to enumerate all top-level windows
  • Filters only visible windows using IsWindowVisible
  • Retrieves window titles via GetWindowText

Window Identification

  • Selected windows are identified by their title
  • FindWindow is used to retrieve the target window handle (HWND)

Window Manipulation

Window behavior is modified using extended window styles:

  • WS_EX_LAYERED for transparency
  • WS_EX_TRANSPARENT for click-through
  • SetWindowPos for top-most behavior
  • SetLayeredWindowAttributes for alpha blending

All logic is centralized in a reusable WindowUtility helper class.


🧱 Project Structure

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)

🚀 How to Run

  1. Open the project in Visual Studio
  2. Build the solution (Any CPU / x86 recommended)
  3. Run the application
  4. Select a window from the list
  5. Click Window Control to modify its behavior

⚠️ Some windows (system or protected apps) may not allow full control.


🛠️ Technical Details

  • Language: C#
  • Framework: .NET (WinForms)
  • Platform: Windows
  • UI Toolkit: Windows Forms
  • Interop: Win32 API (user32.dll via P/Invoke)

Key Win32 Functions Used

  • EnumWindows
  • GetWindowText
  • FindWindow
  • SetWindowLong
  • SetWindowPos
  • SetLayeredWindowAttributes

🚀 How to Run

Option 1: Run Prebuilt Executable

  1. Download and extract the ZIP file
  2. Run the .exe file
  3. Select a window from the list
  4. Click Window Control to modify its behavior

Option 2: Build from Source

  1. Open the project in Visual Studio
  2. Build the solution (Any CPU / x86 recommended)
  3. Run the application

⚠️ Some windows (system or protected apps) may not allow full control.


🔮 Future Improvements

  • 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

📜 License

This project is released under the MIT License.
Free to use, modify, and extend for learning or personal projects.

About

inspect, select, and control other open windows on the system.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages