6个稳定版本
1.0.44 | 2024年8月5日 |
---|---|
1.0.40 | 2023年8月25日 |
1.0.39 | 2023年8月22日 |
#26 在 Windows API
每月 131 下载
1.5MB
47K SLoC
Windows Native —
Windows-Native Rust库通过Rust编程语言提供了一种方便且安全的方式来访问原生Windows未公开API。这些API主要从Process Hacker原生API头文件(phnt)导出,使您能够以可靠和高效的方式与Windows内部进行交互。
请注意,使用未公开API可能存在风险,因为它们可能会在不同的Windows版本中未经通知而更改,并且可能导致系统不稳定。谨慎使用此库,并确保您充分了解使用未公开API的后果。
功能
- 通过Rust访问未公开的Windows API。
- 头文件主要来源于Process Hacker的NT头文件。
- 与原始FFI相比,提供了更安全的接口。
- 每个API的详细文档和示例。
- 用于常见Windows任务的简单函数和类型。
安装
将此库添加到您的 Cargo.toml
[dependencies]
windows-native = "1.0.40"
或运行此命令
cargo add windows-native
此crate与 windows-rs 兼容,因此您也需要安装它。
用法
use std::{thread, time::Duration};
use windows_native::ntpsapi::{NtResumeProcess, NtSuspendProcess};
use windows::Win32::System::Threading::{OpenProcess, PROCESS_ALL_ACCESS};
let handle = unsafe { OpenProcess(PROCESS_ALL_ACCESS, false, 69420).unwrap() };
let result = unsafe { NtSuspendProcess(handle) };
println!("Result {:?}", result);
thread::sleep(Duration::from_secs(3));
let result = unsafe { NtResumeProcess(handle) };
println!("Result {:?}", result);
文档
每个API和类型的详细文档可以在 这里 找到。
贡献
欢迎贡献!如果您发现错误或希望向库添加新功能,请打开一个issue或提交一个pull request。
许可证
本项目根据 MIT许可证 许可。
免责声明
Windows-Native 提供的现状,不保证与未来Windows版本的兼容性。使用未公开的API可能会有意外后果,包括系统不稳定和安全漏洞。使用风险自负。
依赖关系
~128MB
~2M SLoC