{"id":13439211,"url":"https://github.com/Leandros/WindowsHModular","last_synced_at":"2025-03-20T07:32:38.737Z","repository":{"id":37774079,"uuid":"91016447","full_name":"Leandros/WindowsHModular","owner":"Leandros","description":"A modular Windows.h Header. Licensed under Public Domain \u0026 MIT.","archived":false,"fork":false,"pushed_at":"2024-08-02T07:26:41.000Z","size":177,"stargazers_count":371,"open_issues_count":3,"forks_count":35,"subscribers_count":16,"default_branch":"master","last_synced_at":"2024-08-02T09:04:15.041Z","etag":null,"topics":["c","c-plus-plus","cpp","cxx","win32","windows"],"latest_commit_sha":null,"homepage":"https://arvid.io","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Leandros.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-05-11T19:34:25.000Z","updated_at":"2024-08-02T07:26:49.000Z","dependencies_parsed_at":"2024-08-02T09:00:07.371Z","dependency_job_id":"ebb19404-e530-4932-ac41-adf1f4d7c245","html_url":"https://github.com/Leandros/WindowsHModular","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Leandros%2FWindowsHModular","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Leandros%2FWindowsHModular/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Leandros%2FWindowsHModular/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Leandros%2FWindowsHModular/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Leandros","download_url":"https://codeload.github.com/Leandros/WindowsHModular/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221739670,"owners_count":16872768,"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":["c","c-plus-plus","cpp","cxx","win32","windows"],"created_at":"2024-07-31T03:01:12.007Z","updated_at":"2024-10-27T22:30:29.448Z","avatar_url":"https://github.com/Leandros.png","language":"C","readme":"# Modular Windows.h Header File\n\nThe Windows.h header file for the Win32 API is a behemoth of include file,\nadding hundreds of thousands of new macros, structs and functions.\n\nThis project aims to modularize the Windows.h file, to only include what you\nrequire.\n\n\n## Contribution\n\n**All contributions are welcome**, if we make this a crowdsourced effort, this\ncan be completed a lot quicker. If any functions are missing, please feel free\nto add them and submit a pull request. I'll merge them as soon as possible\n\n\n## Usage\n\nThe only directory of interest is `include`, copy the contents of the directory\nover to your project, set the include path to point to the directory containing\nthe `win32` directory.\n\nDue to very generic naming and danger of naming collisions, it's recommended\nto always keep them in the `win32` directory and keep it explicit in the include\ndirectives: `#include \u003cwin32/file.h\u003e`.\n\n\nThe `win32` directory contains the following:\n\n- Modular include files:\n\t- `windows_base.h`\n\t- `atomic.h`\n\t- `dbghelp.h`\n\t- `dds.h`\n\t- `file.h`\n\t- `gdi.h`\n\t- `io.h`\n\t- `misc.h`\n\t- `process.h`\n\t- `sysinfo.h`\n\t- `threads.h`\n\t- `window.h`\n- Amalgamated include file (`#include`'ing the files above):\n\t- `windows_modular.h`\n- Full windows include (inlining the files above):\n\t- `windows.h`\n\n`windows_base.h` is included by each of the modular include files, it contains\nthe required types, macros and structures used by multiple modules.\n\n\n## Differences to Microsofts Windows.h\n\nWe try to provide a full replacement to Microsofts own headers, while keeping\na reasonable amount of compatability and to not break any existing code.\n\nHowever, there are a few breaking changes you should be aware off:\n\n1. Functions which exist in two variants, unicode and ascii are missing the generic macro.\nYou have to manually specify if you wish to call the unicode or ascii variant by appending\neither `A` or `W`, for example `CreateFileA` and `CreateFileW`.\n2. `MIN`/`MAX` macros are not provided, equivalent to `#define NOMINMAX`.\n3. Many, many functions are still missing. Please provide us with what you need and\nwe try to integrate them as soon as possible.\n\n\n## Testing\n\nThe `test` directory contains a simple test case.\n\nThe test case consists of compiling each module file with full warnings turned\non, this will make sure all dependencies are met and no warnings are emitted.\n\nIt can be executed by calling:\n\n```\n$ nmake\n```\n\nRequires `CL.EXE` and `NMAKE.EXE` in your path.\n\n\n## License\n\nThis project contains parts of the Microsoft Windows SDK.\nThey're licensed under Microsofts EULA. To use it you must read and agree to it.\n\nThe rest is dual-licensed under the \"MIT\" \u0026 \"Unlicense\" license.\n\n","funding_links":[],"categories":["C","C++"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLeandros%2FWindowsHModular","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLeandros%2FWindowsHModular","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLeandros%2FWindowsHModular/lists"}