An ergonomic and safe interface to some Windows API functionality.
This is an experimental library designed to explore how the Windows API could look like if it had these properties:
- Properly typed parameters, making wrong usage of the API difficult
- No unsafe functionality exposed to the user outside of 'escape hatches'
- Consistent error handling without special numerical return values
Expect breaking changes between versions. Any kind of feature completeness is also unrealistic given the huge size of the Windows API.
- Keyboard and mouse control & monitoring (send events, hotkeys, hooking)
- List threads
- Set CPU priority for any process / thread
- Set IO priority for any process
- Set current process / thread to background processing mode (sets very low IO priority, lowering disk access contention)
- Get toplevel windows
- Get windows associated with a thread
- Window actions like minimize, flash
- Set taskbar progress animation for a window
- Turn monitor off
- COM initialization
- Get a file list from the Windows clipboard
- Refresh icon cache
- Set default audio output device
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.