https://github.com/jerrylum/topmost2
This tool allows you to make any windows always on top. Using .NET framework.
https://github.com/jerrylum/topmost2
always-on-top csharp dotnet dotnet-framework portable standalone taskbar taskbar-application topmost windows
Last synced: 11 months ago
JSON representation
This tool allows you to make any windows always on top. Using .NET framework.
- Host: GitHub
- URL: https://github.com/jerrylum/topmost2
- Owner: Jerrylum
- License: mit
- Created: 2020-05-18T23:28:54.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-05-24T10:15:22.000Z (over 5 years ago)
- Last Synced: 2025-03-17T01:01:57.126Z (11 months ago)
- Topics: always-on-top, csharp, dotnet, dotnet-framework, portable, standalone, taskbar, taskbar-application, topmost, windows
- Language: C#
- Size: 48.8 KB
- Stars: 56
- Watchers: 4
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
TopMost2
This tool allows you to make any windows always on top.
Download Now
---
### Double Click
Double Click the tray icon, make the current selected window stay on top.
### Global Hotkey
Use the default hotkey `Ctrl + Alt + Space` to make the current selected window stay on top.
### Change The Hotkey
Right click the tray icon and go to `options` page to change the hotkey to your own favorite combination.
### Window List
Click on a menu item from the `Window List` to pin or unpin any windows.
### Other Features
- Dynamic icon
- Clear all function
- Automatically startup option
- Enable/Disable keyboard shortcut option
- Freely customizable hotkey
- Global hotkey
- Command-line support
- High compatibility with other programs
- Negligible system resources usage
---
### Why do I need this?
`Topmost` or `Always On Top` is a property of every window you see on your computer. A window whose Topmost property is set to `true` appears above all windows whose Topmost properties are set to `false`.
Many windows applications don’t offer an option to make itself topmost. When you are browsing multiple windows at the same time, this may make you annoyed by frequent switching to different windows. With TopMost2, you can add this feature to any applications and solve the above problem.
### Details
- **Tray Icon**
The color of the icon represents the top-most state of the current selected window.
🟥RED = Normal, 🟩GREEN = Top-most
- **Clear All Function**
This function will set all windows to normal states.
- **Elevated Privileges**
If you are trying to set an elevated window, TopMost2 will ask you to elevate the privileges in order to have higher permission to finish the action. Obviously, the reason is that they are protected by the operating system. You can also start TopMost2 as administrator to avoid the above problem.
- **Hotkey**
You can freely set any hotkey combinations. By clicking the `Edit` button, you can then press a new combination. After that, click `Done` to finish. If you leave or close the option form. The hotkey setting will be auto-saved by the system.

If TopMost2 starts with normal permission, it may not be able to read the input of the keyboard in the elevated window.
- **Exit**
This function will set all windows to normal state and shut down the program.
### Command Line
Usage:
```powershell
.\topmost2 [--autostart] {action hWnd}
```
**action:**
- Set top-most: `--set` or `-S` or `/S`
- Remove top-most: `--remove` or `-R` or `/R`
**hWnd:**
The handle pointer in hexadecimal. HWND is a "handle to a window" and is part of the Win32 API.
For example:
```powershell
.\topmost2 -S 0x311A0 -S 0x190D4E
.\topmost2 -R 0x311A0
```
---
### Other Software
There are similar software like [DeskPins](https://efotinis.neocities.org/deskpins/) and [Window TopMost Control](https://www.sordum.org/9182/window-topmost-control-v1-2/). I am trying to compare them in several ways. Keep in mind, everyone has different opinion so this comparison is for reference only.
| | TopMost2 | DeskPins | Window TopMost Control |
| ----------------------------------------------- | ----------------- | ------------------------ | ---------------------- |
| Set Elevated application's Window #0 | ✔️ | ✔️ #1 | ✔️ |
| Command Line Support | ✔️ | ❌ | ✔️ |
| Portable | ✔️ | ❌ | ✔️ |
| Auto Start | ✔️ | ❌ | ✔️ |
| Auto Pin | ❌ | ✔️ | ❌ |
| Open Source | ✔️ | ✔️ | ❌ |
| State visibility | 🟡Good | 🟢Excellent #2 | 🟠Limited #3 |
| CPU Usage | 🟢Least | 🟠Highest | 🟡Medium |
| Customize | 🟡Good | 🟢Excellent | 🟡Good |
| Compatibility With Programs | 🟢Excellent | 🟡Good #4 | 🟢Excellent |
| Hotkey | More Combinations | More shortcuts | Limited |
| Size | 47KB | 103KB | 680KB |
#0 Able to change a window that belongs to a process with elevated privileges (run as the administrator).
#1 Only if the application starts as administrator. Otherwise, trying to do that will cause unknown behavior.
#2 Pin icon at the top-right corner of the top-most window.
#3 Only provide the "Window List" feature.
#4 Not Compatible with windows which also have top-most setting.
---
### Download
Please go to [the release page](https://github.com/jerrylum/topmost2/releases) to download the latest version.
This tool requires .Net Framework 4.7.2 (or above). Support Windows 7 SP1 or later.
### Special Thanks
Thanks you [SamNg](https://github.com/ngkachunhlp) and [COMMANDER.WONG](https://github.com/COMMANDERWONG) for their suggestions and software testing.
