use windows::Win32::Foundation::HWND;
use windows::Win32::UI::WindowsAndMessaging::{
DispatchMessageW, MSG, PM_REMOVE, PeekMessageW, TranslateMessage, WM_QUIT,
};
#[must_use]
pub fn pump_thread_messages() -> bool {
let mut message = MSG::default();
let mut quitting = false;
unsafe {
while PeekMessageW(&raw mut message, Some(HWND::default()), 0, 0, PM_REMOVE).as_bool() {
if message.message == WM_QUIT {
quitting = true;
break;
}
let _ = TranslateMessage(&raw const message);
DispatchMessageW(&raw const message);
}
}
quitting
}