win_event_hook 0.4.2

A safe rust API for using SetWinEventHook, powered by the windows crate
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use tracing::trace;
use windows::Win32::UI::WindowsAndMessaging::{DispatchMessageW, GetMessageW, MSG, WM_QUIT};

/// Runs a windows event loop for pressing messages using [`GetMessageW`] and [`DispatchMessageW`].
pub unsafe fn run_event_loop() {
    trace!("starting event_loop");
    let mut message = MSG::default();
    while GetMessageW(&mut message, None, 0, 0).into() {
        if message.message == WM_QUIT {
            break;
        }
        DispatchMessageW(&message);
    }
    trace!("exiting event_loop");
}