13 个版本 (7 个破坏性更新)
0.8.3 | 2023年11月29日 |
---|---|
0.8.1 | 2023年5月18日 |
0.7.1 | 2022年9月20日 |
0.5.0 | 2022年7月9日 |
0.4.1 | 2022年2月22日 |
#46 in macOS 和 iOS API
每月 1,041 次下载
用于 2 crates
31KB
677 行代码
active-win-pos-rs
一个小的 Rust 库,允许您获取 Windows、macOS 和 Linux 上活动窗口的位置、大小、标题和其他一些属性
使用方法
添加到 Cargo.toml
[dependencies]
active-win-pos-rs = "0.8"
使用
use active_win_pos_rs::get_active_window;
fn main() {
match get_active_window() {
Ok(active_window) => {
println!("active window: {:#?}", active_window);
},
Err(()) => {
println!("error occurred while getting the active window");
}
}
}
将返回一个 ActiveWindow
结构实例,包含唯一的窗口 ID、进程 ID、窗口位置和窗口标题。
或者使用 active_win_pos_rs::get_position
仅获取 WindowPosition
。
macOS 上的窗口标题
在 macOS 上,除非您为您的应用 启用屏幕录制权限,否则 title
属性将始终返回空字符串。
构建
% git clone https://github.com/dimusic/active-win-pos-rs.git
% cd active-win-pos-rs
% cargo build
示例
% cargo run --example active-window
输出
active window: ActiveWindow {
title: "cmd - cargo run --example active-window",
process_path: "C:\\Program Files\\WindowsApps\\Microsoft.WindowsTerminal_1.16.10262.0_x64__8wekyb3d8bbwe\\WindowsTerminal.exe",
app_name: "WindowsTerminal",
window_id: "HWND(9700584)",
process_id: 8460,
position: WindowPosition {
x: 6.0,
y: 296.0,
width: 1129.0,
height: 635.0,
},
}
依赖项
~0–38MB
~531K SLoC