#![cfg(feature = "messages")]
use windows_api_utils::prelude::*;
fn main() {
println!("=== Messages Feature Demo ===");
let mouse_msg = WindowMessage::mouse_move(
150,
200,
KeyModifiers {
shift: true,
..Default::default()
},
);
if let Some(mouse_event) = MessageParser::parse_mouse_message(mouse_msg) {
println!("Mouse event: ({}, {})", mouse_event.x, mouse_event.y);
println!("Modifiers: Shift={}", mouse_event.modifiers.shift);
}
let click_msg =
WindowMessage::mouse_button(MouseButton::Left, true, 100, 200, KeyModifiers::default());
if let Some(click_event) = MessageParser::parse_mouse_message(click_msg) {
println!(
"Click: {:?} at ({}, {})",
click_event.button, click_event.x, click_event.y
);
}
let key_msg = WindowMessage::key_event(windows_messages::WM_KEYDOWN, 0x41, 0x1E, 1);
if let Some(key_event) = MessageParser::parse_key_message(key_msg) {
println!(
"Key: VK=0x{:02X}, Scan=0x{:02X}",
key_event.virtual_key, key_event.scan_code
);
}
}