Crate wineventhook
source ·Expand description
A rusty wrapper over the window event API specifically SetWinEventHook
and UnhookWinEvent
.
For the type of events that can be hooked, see WindowEvent
.
Example
This example shows how to listen for all window events and print them to the console.
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();
}
Modules
Module containing the raw event codes and ranges.
Structs
A filter for window events to be received.
A raw window event received by a
WindowEventHook
.A window event received by a
WindowEventHook
.A hook with a message loop that listens for window events.
Enums
The type of object associated with a window event.
A known event indicating a change in a console window.
A struct represting an event in a reserved range that may be a known common event or an unknown new or custom event.
A known event indicating a change in a console window.
A known event describing a situation affecting all applications in the system.
The type of window event.
See Event Constants, System-Level and Object-Level Events and Allocation of WinEvent IDs for more information.
Type Definitions
A filter for window events.
A non null handle to a hook created using
SetWinEventHook
.A raw handle to a hook created using
SetWinEventHook
.A raw handle to a window.
A non null handle to a window.