# wineventhook
[](https://github.com/OpenByteDev/wineventhook-rs/actions/workflows/ci.yml)
[](https://crates.io/crates/wineventhook)
[](https://docs.rs/wineventhook)
[](https://deps.rs/repo/github/openbytedev/wineventhook-rs)
[](https://github.com/OpenByteDev/wineventhook-rs/blob/master/LICENSE)
A rusty wrapper over SetWinEventHook and UnhookWinEvent.
# Example
This example shows how to listen for all window events and print them to the console.
```rust
use wineventhook::{EventFilter, WindowEventHook};
#[tokio::main]
async fn main() {
// Create a new hook
let (event_tx, mut event_rx) = tokio::sync::mpsc::unbounded_channel();
let hook = WindowEventHook::hook(
EventFilter::default(),
event_tx,
).await.unwrap();
// Wait and print events
while let Some(event) = event_rx.recv().await {
println!("{:#?}", event);
}
// Unhook the hook
hook.unhook().await.unwrap();
}
```
## License
Licensed under MIT license ([LICENSE](https://github.com/OpenByteDev/wineventhook-rs/blob/master/LICENSE) or http://opensource.org/licenses/MIT)