winapi-easy 0.3.0

A safe interface to various winapi functionality
Documentation
use std::io;

use winapi_easy::hooking::{
    HookReturnValue,
    LowLevelInputHookType,
    LowLevelKeyboardHook,
    LowLevelKeyboardMessage,
    LowLevelMouseAction,
    LowLevelMouseHook,
    LowLevelMouseMessage,
};
use winapi_easy::messaging::ThreadMessageLoop;

fn main() -> io::Result<()> {
    let mouse_callback = |message: LowLevelMouseMessage| -> HookReturnValue {
        match message.action {
            LowLevelMouseAction::Move => {}
            _ => {
                dbg!(message);
            }
        }
        HookReturnValue::CallNextHook
    };
    let _mouse_hook = LowLevelMouseHook::add_hook::<0, _>(mouse_callback)?;

    let keyboard_callback = |message: LowLevelKeyboardMessage| -> HookReturnValue {
        dbg!(message);
        HookReturnValue::CallNextHook
    };
    let _keyboard_hook = LowLevelKeyboardHook::add_hook::<1, _>(keyboard_callback)?;

    ThreadMessageLoop::new().run()?;
    Ok(())
}