A fast, minimal Windows search launcher — triggered by Win+Q, built with C# + WPF + .NET 8.
- Win+Q global hotkey — overrides the default Windows Search without leaving the Win key stuck
- Recent apps on open — instantly shows recently used programs when launched
- Real-time search — finds apps, files, folders, shortcuts as you type (50ms debounce)
- In-memory index — background file indexer for near-instant results after first launch
- Smart scoring — results ranked by exact match → prefix → contains → word boundary → fuzzy
- Shell icons — real per-app icons extracted via Windows Shell API
- Keyboard navigation — arrow keys to move, Enter to open, Escape to close
- Click outside to close — window hides on focus loss
- System tray — runs in background, accessible from tray icon
| Location | What's indexed |
|---|---|
| Start Menu (user + common) | .exe, .lnk, .url |
| Desktop (user + common) | all supported types |
| Documents | .pdf, .docx, .xlsx, .pptx, .txt |
| Downloads | archives, media, documents |
| Key | Action |
|---|---|
Win+Q |
Open / close |
↑ ↓ |
Navigate results |
Enter |
Open selected |
Escape |
Close |
Tab |
Keep focus on search box |
- Windows 10 / 11
- .NET 8 Runtime
git clone https://github.com/EnsixD/WinSearcher.git
cd WinSearcher
dotnet runOr build a self-contained executable:
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true- C# 12 / .NET 8 — language and runtime
- WPF — UI framework
- WH_KEYBOARD_LL — low-level keyboard hook for global Win+Q intercept
- SendInput — synthetic key injection to prevent Win-key stuck state
- SHGetFileInfo — Shell32 API for real application icons
- WScript.Shell COM — resolves
.lnkshortcut targets for recent apps