12个版本 (6 个稳定版)
4.0.0-beta.6 | 2024年6月4日 |
---|---|
4.0.0-beta.5 | 2024年2月6日 |
4.0.0-beta.4 | 2024年1月17日 |
3.1.3 | 2021年11月23日 |
0.1.0 | 2017年3月17日 |
#74 in Windows API
每月下载量367
用于 2 crates
23KB
401 行
clipboard-master
剪切板监控库。
支持的平台
- Windows - 使用模拟窗口接收剪切板更改时的消息;
- Linux - 使用 x11_clipboard
- MacOS - 由于没有事件通知,使用轮询通过
NSPasteboard::changeCount
Clipboard Master Library
本项目导出 Master
结构体,提供了简单处理剪切板更新的方法。
示例
extern crate clipboard_master;
use clipboard_master::{Master, ClipboardHandler, CallbackResult};
use std::io;
struct Handler;
impl ClipboardHandler for Handler {
fn on_clipboard_change(&mut self) -> CallbackResult {
println!("Clipboard change happened!");
CallbackResult::Next
}
fn on_clipboard_error(&mut self, error: io::Error) -> CallbackResult {
eprintln!("Error: {}", error);
CallbackResult::Next
}
}
fn main() {
let mut master = Master::new(Handler).expect("create new monitor");
let shutdown = master.shutdown_channel();
std::thread::spawn(move || {
std::thread::sleep(core::time::Duration::from_secs(1));
println!("I did some work so time to finish...");
shutdown.signal();
});
//Working until shutdown
master.run().expect("Success");
}
依赖关系
~0–12MB
~102K SLoC