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 Aliases§
- 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.