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
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:
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.
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) :
- It removes the WS_EX_APPWINDOW style, which normally causes a window to appear in the taskbar and Alt-Tab.
- 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)
- Download and run WinhiderInstaller.exe.
- Once the installation is complete, you will be able to run Winhider from the Start Menu.
- 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
-iSign only installer .exe files in Misc\output --signall
-aSign both main binaries and installer files --help
-hShow 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
- 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
Tip: you can hide the Projector window from view too.
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!