All Projects → Leandros → Windowshmodular

Leandros / Windowshmodular

Licence: other
A modular Windows.h Header. Licensed under Public Domain & MIT.

Programming Languages

c
50402 projects - #5 most used programming language
cpp
1120 projects
cxx
24 projects

Projects that are alternatives of or similar to Windowshmodular

Slib
SLib - A universal, efficient, light-weight framework for building cross-platform applications on Android/iOS/macOS/Tizen/Win32/Linux platforms, developed by SLIBIO. Based on C++, provides desktop/mobile widgets, OpenGL rendering and networking solutions.
Stars: ✭ 113 (-55.16%)
Mutual labels:  win32
Radasm2
RadASM v2
Stars: ✭ 161 (-36.11%)
Mutual labels:  win32
Node Win32 Api
win32 api
Stars: ✭ 214 (-15.08%)
Mutual labels:  win32
Injectcollection
A collection of injection via vc++ in ring3
Stars: ✭ 131 (-48.02%)
Mutual labels:  win32
Winlamb
A lightweight modern C++11 library for Win32 API, using lambdas to handle Windows messages.
Stars: ✭ 157 (-37.7%)
Mutual labels:  win32
Framelesshelper
Frameless windows for Qt Widgets and Qt Quick applications. Support Win32, X11, Wayland and macOS.
Stars: ✭ 183 (-27.38%)
Mutual labels:  win32
Vkbind
Single file Vulkan API loader.
Stars: ✭ 110 (-56.35%)
Mutual labels:  win32
Drill
Search files without indexing, but clever crawling
Stars: ✭ 224 (-11.11%)
Mutual labels:  win32
Nos
RTOS for microcontrollers
Stars: ✭ 160 (-36.51%)
Mutual labels:  win32
Xdpw
XD Pascal: A small embeddable self-hosting Pascal compiler for Windows. Supports Go-style methods and interfaces
Stars: ✭ 199 (-21.03%)
Mutual labels:  win32
Hexed
Windows console-based hex editor
Stars: ✭ 145 (-42.46%)
Mutual labels:  win32
Crosswindow
💻📱 A cross platform system abstraction library written in C++ for managing windows and performing OS tasks.
Stars: ✭ 155 (-38.49%)
Mutual labels:  win32
W32
A wrapper of Windows APIs for Go
Stars: ✭ 190 (-24.6%)
Mutual labels:  win32
Winmerge
WinMerge is an Open Source differencing and merging tool for Windows. WinMerge can compare both folders and files, presenting differences in a visual text format that is easy to understand and handle.
Stars: ✭ 2,358 (+835.71%)
Mutual labels:  win32
Xmly Downloader Qt5
喜马拉雅FM专辑下载器. 支持VIP与付费专辑. 使用Go+Qt5编写(Not Qt Binding).
Stars: ✭ 214 (-15.08%)
Mutual labels:  win32
Clavier Plus
Clavier+ keyboard shortcuts manager for Windows
Stars: ✭ 109 (-56.75%)
Mutual labels:  win32
Win32 Darkmode
Example application shows how to use undocumented dark mode API introduced in Windows 10 1809.
Stars: ✭ 176 (-30.16%)
Mutual labels:  win32
Common
Yet another serial port debugger.
Stars: ✭ 245 (-2.78%)
Mutual labels:  win32
Netelf
Run executables from memory, over the network, on Windows, Linux, OpenVMS... routers... spaceships... toasters etc.
Stars: ✭ 220 (-12.7%)
Mutual labels:  win32
Resourcelib
C# File Resource Management Library
Stars: ✭ 197 (-21.83%)
Mutual labels:  win32

Modular Windows.h Header File

The Windows.h header file for the Win32 API is a behemoth of include file, adding hundreds of thousands of new macros, structs and functions.

This project aims to modularize the Windows.h file, to only include what you require.

Contribution

All contributions are welcome, if we make this a crowdsourced effort, this can be completed a lot quicker. If any functions are missing, please feel free to add them and submit a pull request. I'll merge them as soon as possible

Usage

The only directory of interest is include, copy the contents of the directory over to your project, set the include path to point to the directory containing the win32 directory.

Due to very generic naming and danger of naming collisions, it's recommended to always keep them in the win32 directory and keep it explicit in the include directives: #include <win32/file.h>.

The win32 directory contains the following:

  • Modular include files:
    • windows_base.h
    • atomic.h
    • dbghelp.h
    • dds.h
    • file.h
    • gdi.h
    • io.h
    • misc.h
    • process.h
    • sysinfo.h
    • threads.h
    • window.h
  • Amalgamated include file (#include'ing the files above):
    • windows_modular.h
  • Full windows include (inlining the files above):
    • windows.h

windows_base.h is included by each of the modular include files, it contains the required types, macros and structures used by multiple modules.

Differences to Microsofts Windows.h

We try to provide a full replacement to Microsofts own headers, while keeping a reasonable amount of compatability and to not break any existing code.

However, there are a few breaking changes you should be aware off:

  1. Functions which exist in two variants, unicode and ascii are missing the generic macro. You have to manually specify if you wish to call the unicode or ascii variant by appending either A or W, for example CreateFileA and CreateFileW.
  2. MIN/MAX macros are not provided, equivalent to #define NOMINMAX.
  3. Many, many functions are still missing. Please provide us with what you need and we try to integrate them as soon as possible.

Testing

The test directory contains a simple test case.

The test case consists of compiling each module file with full warnings turned on, this will make sure all dependencies are met and no warnings are emitted.

It can be executed by calling:

$ nmake

Requires CL.EXE and NMAKE.EXE in your path.

License

This project contains parts of the Microsoft Windows SDK. They're licensed under Microsofts EULA. To use it you must read and agree to it.

The rest is dual-licensed under the "MIT" & "Unlicense" license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].