# Features

* Supports [.NET Framework 4.0](https://www.microsoft.com/en-us/download/details.aspx?id=17718) and higher.
* Manages system-wide hotkeys in a CRUD-like fashion with the methods `Add()`, `Update()`, `Remove()` and `RemoveAll()`. You can also suspend and resume hotkeys using the methods `Suspend()` and `Resume()`.
* Determines the pressed hotkey(s) using the `HotkeyPressed` event and its `Hotkey` argument.
* Determines the application from which a hotkey was pressed using the `HotkeyPressed` event's `SourceApplication` argument.
* In addition to hotkey-listening, the `HotkeySelector` class lets you enable any control to be used for selecting hotkeys at runtime. `HotkeyListener` would pretty much be half-baked if this class wasn't available, and thus the need for it. This will be super handy for applications that let end-users choose their own preferred hotkey(s) for certain features to be invoked/launched.
* The library includes a helper method, `GetSelection()`, which lets you get the text selected from any active application where a hotkey was pressed. To get a glimpse of what's possible with this feature, think of how [WordWeb](https://wordweb.info/free/) is able to lookup the definition of any phrase you've selected at the press of a hotkey... Or how [Cintanotes](http://cintanotes.com/) lets you save highlighted texts as notes from any active application in an instant. That's precisely what you can achieve with `HotkeyListener`.
