trisquel-icecat/icecat/third_party/dump_syms/vendor/windows-sys
2025-10-06 02:35:48 -06:00
..
src icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
.cargo-checksum.json icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
Cargo.lock icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
Cargo.toml icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
license-apache-2.0 icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
license-mit icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
readme.md icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rustfmt.toml icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00

windows-sys

The windows-sys crate is a zero-overhead fallback for the most demanding situations and primarily where the absolute best compile time is essential. It only includes function declarations (externs), structs, and constants. No convenience helpers, traits, or wrappers are provided.

Start by adding the following to your Cargo.toml file:

[dependencies.windows-sys]
version = "0.60"
features = [
    "Win32_Security",
    "Win32_System_Threading",
    "Win32_UI_WindowsAndMessaging",
]

Make use of any Windows APIs as needed:

use windows_sys::{
    core::*, Win32::Foundation::*, Win32::System::Threading::*, Win32::UI::WindowsAndMessaging::*,
};

fn main() {
    unsafe {
        let event = CreateEventW(std::ptr::null(), 1, 0, std::ptr::null());
        SetEvent(event);
        WaitForSingleObject(event, 0);
        CloseHandle(event);

        MessageBoxA(0 as _, s!("Ansi"), s!("Caption"), MB_OK);
        MessageBoxW(0 as _, w!("Wide"), w!("Caption"), MB_OK);
    }
}