5 个不稳定版本
0.3.0 | 2023年9月28日 |
---|---|
0.2.0 | 2023年7月5日 |
0.1.2 | 2023年7月4日 |
0.1.1 | 2023年7月4日 |
0.1.0 | 2023年7月4日 |
在 Windows API 中排名 #108
每月下载量 75 次
68KB
893 行代码(不含注释)
win_event_hook
使用 SetWinEventHook
的安全 Rust API,由 windows
crate 提供。
使用方法
要使用 win_event_hook
,请将以下内容添加到您的 Cargo.toml
[dependencies]
win_event_hook = "0.1"
然后创建一个配置并安装钩子,例如
use win_event_hook::events::{Event, NamedEvent};
// create our hook config
let config = win_event_hook::Config::builder()
.skip_own_process()
.with_dedicated_thread()
.with_events(vec![
// to see these, try right clicking
Event::Named(NamedEvent::ObjectShow),
Event::Named(NamedEvent::ObjectHide),
// to see this, try moving around the cursor
Event::Named(NamedEvent::ObjectLocationChange),
])
.finish();
// and our handler
let handler = |ev, _, _, _, _, _| {
println!("got event: {:?}", ev);
};
// install the hook
let hook = win_event_hook::WinEventHook::install(config, handler)?;
当 hook
被丢弃时,将尝试自动卸载。卸载可能会失败 - 要处理失败,可以自行调用 uninstall
,例如
// building on the above example
// uninstall the hook
hook.uninstall()?;
有关更多信息,请参阅 生成的文档。
许可证
本项目采用 MIT 许可证。
依赖项
~2–40MB
~576K 行代码(约额外的代码行)