{"id":29020616,"url":"https://github.com/jeet-parekh/winapi","last_synced_at":"2026-03-11T15:03:26.468Z","repository":{"id":118531735,"uuid":"107039953","full_name":"jeet-parekh/winapi","owner":"jeet-parekh","description":"Windows API wrappers for Go","archived":false,"fork":false,"pushed_at":"2017-10-30T05:33:49.000Z","size":62,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-26T01:05:59.175Z","etag":null,"topics":["go","golang","winapi","windows"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jeet-parekh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-10-15T18:56:03.000Z","updated_at":"2023-02-11T10:53:22.000Z","dependencies_parsed_at":"2024-06-20T09:19:01.510Z","dependency_job_id":"6fda588b-3e72-418a-a0d6-2bd95f205bbe","html_url":"https://github.com/jeet-parekh/winapi","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jeet-parekh/winapi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeet-parekh%2Fwinapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeet-parekh%2Fwinapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeet-parekh%2Fwinapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeet-parekh%2Fwinapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jeet-parekh","download_url":"https://codeload.github.com/jeet-parekh/winapi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeet-parekh%2Fwinapi/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264929420,"owners_count":23684807,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go","golang","winapi","windows"],"created_at":"2025-06-26T01:05:58.674Z","updated_at":"2026-03-11T15:03:21.433Z","avatar_url":"https://github.com/jeet-parekh.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Windows API wrappers for Go\n\n---\n\n### About `winapi`\n\n- `winapi` provides wrappers around WinAPI functions.\n- [Documentation: godoc](https://godoc.org/github.com/jeet-parekh/winapi)\n\nAPIs wrapped:\n\n- [Configuration](https://msdn.microsoft.com/en-us/library/ff625300.aspx)\n- [Hooks](https://msdn.microsoft.com/en-us/library/ms632589.aspx)\n- [Keyboard Input](https://msdn.microsoft.com/en-us/library/ms645530.aspx)\n- [Messages and Message Queues](https://msdn.microsoft.com/en-us/library/ms632590.aspx)\n- [Mouse Input](https://msdn.microsoft.com/en-us/library/ms645533.aspx)\n- [Multiple Document Interface](https://msdn.microsoft.com/en-us/library/ms632591.aspx)\n- [Raw Input](https://msdn.microsoft.com/en-us/library/ms645536.aspx)\n- [Timers](https://msdn.microsoft.com/en-us/library/ms632592.aspx)\n\n---\n\nWINAPI uses `union` which is not available in Go. To handle that, variants of structures and functions have been created for some APIs.\n\nThe structures and functions which have variants are mentioned below.\n\n---\n\n## RAW INPUT\n\n`GetRawInputDeviceInfo` for uiCommand `RIDI_PREPARSEDDATA` isn't implemented.\n\n### Abbreviations\n\n|Abbreviation|Meaning|\n|---|---|\n|M|Mouse|\n|MB|MouseButtons|\n|MBI|MouseButtonInformation|\n|K|Keyboard|\n|HID|Human Interface Device|\n\n### Structures\n\n|WINAPI|Go|\n|---|---|\n|[RAWINPUT](https://msdn.microsoft.com/en-us/library/ms645562.aspx)|RAWINPUT\\_MB\u003cbr\u003eRAWINPUT\\_MBI\u003cbr\u003eRAWINPUT\\_K\u003cbr\u003eRAWINPUT\\_HID|\n|[RAWMOUSE](https://msdn.microsoft.com/en-us/library/ms645578.aspx)|RAWMOUSEBUTTONS\u003cbr\u003eRAWMOUSEBUTTONINFO|\n|[RID\\_DEVICE\\_INFO](https://msdn.microsoft.com/en-us/library/ms645581.aspx)|RIDI\\_M\u003cbr\u003eRIDI\\_K\u003cbr\u003eRIDI\\_HID|\n\n### Functions\n\n|WINAPI|Go|\n|---|---|\n|[DefRawInputProc](https://msdn.microsoft.com/en-us/library/ms645594.aspx)|DefRawInputProcMB\u003cbr\u003eDefRawInputProcMBI\u003cbr\u003eDefRawInputProcK\u003cbr\u003eDefRawInputProcHID|\n|[GetRawInputBuffer](https://msdn.microsoft.com/en-us/library/ms645595.aspx)|GetRawInputBufferMB\u003cbr\u003eGetRawInputBufferMBI\u003cbr\u003eGetRawInputBufferK\u003cbr\u003eGetRawInputBufferHID|\n|[GetRawInputData](https://msdn.microsoft.com/en-us/library/ms645596.aspx)|GetRawInputDataMB\u003cbr\u003eGetRawInputDataMBI\u003cbr\u003eGetRawInputDataK\u003cbr\u003eGetRawInputDataHID|\n|[GetRawInputDeviceInfo](https://msdn.microsoft.com/en-us/library/ms645597.aspx)|GetRawInputDeviceName\u003cbr\u003eGetRawInputDeviceInfoM\u003cbr\u003eGetRawInputDeviceInfoK\u003cbr\u003eGetRawInputDeviceInfoHID|\n\n---\n\n## KEYBOARD INPUT\n\n### Abbreviations\n\n|Abbreviation|Meaning|\n|---|---|\n|M|Mouse|\n|K|Keyboard|\n|HW|Hardware|\n\n### Structures\n\n|WINAPI|Go|\n|---|---|\n|[INPUT](https://msdn.microsoft.com/en-us/library/ms646270.aspx)|INPUT\\_M\u003cbr\u003eINPUT\\_K\u003cbr\u003eINPUT\\_HW|\n\n### Functions\n\n|WINAPI|Go|\n|---|---|\n|[SendInput](https://msdn.microsoft.com/en-us/library/ms646310.aspx)|SendInputM\u003cbr\u003eSendInputK\u003cbr\u003eSendInputHW|\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeet-parekh%2Fwinapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeet-parekh%2Fwinapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeet-parekh%2Fwinapi/lists"}