An open API service indexing awesome lists of open source software.

https://github.com/mjblack/win32cr

Crystal library for Win32 API
https://github.com/mjblack/win32cr

crystal crystal-lang crystal-language crystal-shard win32 win32api windows

Last synced: 5 months ago
JSON representation

Crystal library for Win32 API

Awesome Lists containing this project

README

          

# win32cr

[![CI](https://github.com/mjblack/win32cr/actions/workflows/crystal.yml/badge.svg)](https://github.com/mjblack/win32cr/actions/workflows/crystal.yml) [![Crystal Latest CI](https://github.com/mjblack/win32cr/actions/workflows/crystal_latest.yml/badge.svg)](https://github.com/mjblack/win32cr/actions/workflows/crystal_latest.yml)

Win32 library bindings generated by [mjblack/winmd](https://github.com/mjblack/winmd) using [marlersoft/win32json](https://github.com/marlersoft/win32json).

## Installation

Add this to your application's `shard.yml`:

```yaml
dependencies:
win32cr:
github: mjblack/win32cr
```

Build WinMD by executing the script `build.ps1` in the location where the shard `win32cr` is installed.

```
C:\Projects\SomeCrystalApp\lib\win32cr> & .\build.ps1
```

## Usage

For more examples, please see the [examples](https://github.com/mjblack/win32cr/tree/master/examples) directory.

```crystal
require "win32cr"
require "win32cr/ui/windows_and_messaging"

alias WM = Win32cr::UI::WindowsAndMessaging # Simplifies code
WM.messageBoxW(Pointer(Void).null, pwstr("Message Box Body"), pwstr("Title"), WM::MESSAGEBOX_STYLE::MB_OK)
```

## Contributing

1. Fork it ()
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request

## Contributors

- [Matthew J. Black](https://github.com/mjblack) - creator and maintainer