27 breaking releases
0.58.0 | Jul 3, 2024 |
---|---|
0.56.0 | Apr 12, 2024 |
0.55.0 | Mar 6, 2024 |
0.52.0 | Nov 15, 2023 |
0.0.0 | Oct 18, 2021 |
#63 in Procedural macros
47,349 downloads per month
Used in 104 crates
(7 directly)
8.5MB
12K
SLoC
Contains (DOS exe, 24MB) default/Windows.Win32.winmd, (Windows exe, 7.5MB) default/Windows.winmd, (DOS exe, 1MB) default/Windows.Wdk.winmd
Generate Rust bindings for Windows
The windows-bindgen crate automatically generates Rust bindings from Windows metadata.
Start by adding the following to your Cargo.toml file:
[dependencies.windows-targets]
version = "0.52"
[dev-dependencies.windows-bindgen]
version = "0.58"
Generates Rust bindings in a build script or test as needed:
#[test]
fn bindgen() {
let args = [
"--out",
"src/bindings.rs",
"--config",
"flatten",
"--filter",
"Windows.Win32.System.SystemInformation.GetTickCount",
];
windows_bindgen::bindgen(args).unwrap();
}
mod bindings;
fn main() {
unsafe {
println!("{}", bindings::GetTickCount());
}
}
lib.rs
:
Learn more about Rust for Windows here: https://github.com/microsoft/windows-rs