Show HN: Winhider – Hide windows from screenshare and Taskbar/Taskswitcher

4 days ago 3

WinHider Logo

Build App License Version

WinHider (short for Window Hider) is an application that allows you to hide user defined windows from screensharing (zoom, ms-teams, gmeet etc.) and also from taskbar / taskswitcher (Alt-Tab)

Website Repo for docs and landing : https://github.com/aamitn/winhider-website GH Pages Deploy

Glimpse of the GUI and CLI

Winhider GUI Winhider CLI

It is an aplication to hide/unhide app windows from screenshare and taskbar/taskswitcher while still be able to use and interact with the applciation in your system.

Below is an explainer video:

usage

The above GIF illustrates how I used WinHider to hide the Notepad window from my screenshare and taskbar/taskswitcher while still being able to see it on my end. This is useful when you want to share your screen but don't want the other participants to see the Screensharing window itself.

What goes under the hood?

The tool performs dll injection with dlls containg targets for :

  • SetWindowDisplayAffinity to WDA_EXCLUDEFROMCAPTURE. (For hiding from screenshare)
  • Modifying the window’s extended styles (For hiding from taskbar & taskswitcher) :
    1. It removes the WS_EX_APPWINDOW style, which normally causes a window to appear in the taskbar and Alt-Tab.
    2. It adds the WS_EX_TOOLWINDOW style, which hides the window from the taskbar and Alt-Tab.
  • Hide, Unhide – Dlls for hiding/unhiding from screenshare
  • HideTask, UnhideTask – Dlls for hiding/unhiding from taskbar/taskswitcher
  • Injector – CLI and DLL Injector code
  • WinhiderGui – WinAPI GUI code
  • Misc – Miscellaneous files (icons, images, etc.)
  • build.ps1 – PowerShell script to build the project with MSBUILD`
  • sign.cmd – Command-line script to sign the release binaries and installer

To use this application, you can either use the installer or the portable version.

: Binaries Legend
Winhider.exe -> 64-bit CLI
Winhider_32bit.exe -> 32-bit CLI
WinhiderGui.exe -> 64-bit GUI
WinhiderGui_32bit.exe -> 32-bit GUI hide_hotkey.exe -> Auto Hotkey Handler(32-bit only)

Use the binary installer (recommended)

  • Download and run WinhiderInstaller.exe.
  • Once the installation is complete, you will be able to run Winhider from the Start Menu.

Download the portable zip with prebuilt binaries

  • Download and extract the generated zip bundle named Winhider.zip.
  • Run Winhider.exe. You will now be dropped into a terminal.
  • Running the CLI binary(Winhider.exe) directly drops you into interactive mode. You can type help for more information.
  • Running the GUI binary(WinhiderGui.exe) starts the wrapper GUI head to Help->About for more information.

You can also directly invoke it with commandline arguments. Type Winhider --help for argument specification.

  • Download and extract the source from here.

    git clone https://github.com/aamitn/Winhider cd Winhider
  • If you have Visual Studio Installed, open the Winhider.sln and build as per provided configs.

  • Alternatively you can run build.ps1 in powershell to buiild from CLI without IDE

To build without IDE form CLI using powershell script, make sure you have Visual Studio Build Tools installed , you may skip this if you have entire Visual Studio Installation at system.

  • Use sign.cmd to sign the release binaries and installer. This is optional but recommended for distribution. This script signs .exe and .dll files using signtool.exe and a .pfx certificate.

  • Our provided signing certificate is in .pfx format is at ./Misc/WinHider.pfx.

  • 🔐 Default Behavior: Running without arguments signs all .exe and .dll files in Build\bin\Release using the default password

  • ⚙️ Arguments

    Argument Description
    --pass "<password>"
    -p "<password>"
    Use custom password for signing (quotes required)
    --signinstaller
    -i
    Sign only installer .exe files in Misc\output
    --signall
    -a
    Sign both main binaries and installer files
    --help
    -h
    Show help message
    Example : `sign.cmd -a -p "mypass"`
  • 🔗 Timestamp Server: http://timestamp.comodoca.com/authenticode (Uses Comodo’s timestamp server)

⚠️ Important: Password must be enclosed in quotes. Avoid hardcoding passwords—pass them securely using environment variables or CI/CD secrets.

Microsoft Windows 10 v2004 or above. On previous versions of windows, a black screen shows up instead of hiding the window.

Do future instances of the application get automatically hidden?

No

Is it possible to see a preview of the screen on my side?

  • You can simply use OBS Studio with Windowed Projectors.
  • Open OBS and do first-time setup.
  • Then Right-Click under Sources-> Add-> Display Capture->OK-> Select Monitor under Display Dropdown-> OK. Now you will see infinity mirror if you have single diplay.
  • Right click on the newly creted display under sources -> Click Windowed Projector.
  • Minimize OBS and check for window hide status in projector window
  • Multi-Monitor Systems will not require additional projector
Expand for Screenshot

Windowed Projector

Tip: you can hide the Projector window from view too.

Could I automatically hide windows using a hotkey?

Yes! with the installer and zip-bundles we provide 3 ways to achieve this :

  • An Autohotkey(.ahk) script named hide_hotkey.ahk which could be run using Autohotkey v2+.
  • If you dont have Autohotkey installed in your system, you could also use the precompiled hide_hotkey.exe to use hotkey functions.
  • From GUI, just click the Activate Hotkeys to activate hotkeys.

    : Hotkey Legend
    Ctrl+Shift+H -> Hide from Screenshare
    Ctrl+Shift+J -> Unhide from Screenshare
    Ctrl+Shift+K -> Hide from Taskbar/Switcher
    Ctrl+Shift+L -> Unhide from Taskbar/Switcher
    Ctrl+Shift+I -> Show Current Window Process Info Ctrl+F10 -> Show/Hide Toggle Autohotkey Script Runner System Tray Icon Ctrl+Shift+Q -> Exit/Quit Hotkey Script

Feel free to open an issue / PR if you find a bug or would like to contribute!

Read Entire Article