WinStd
Windows Win32 API using Standard C++
|
Provides templates and function helpers for Windows Win32 API using Standard C++ in Microsoft Visual C++ 2017-2022
This project does not require building. Just #include
individual files from this repository into your source code and get started.
Simplify memory and resource management. The classes release memory and resources automatically. They are like smart-pointers for various Windows resources. Once created, you use the class instance as a snap-in replacement for pointers/handles parameters in the standard Win32 API function calls.
Different Win32 API functions have different ways of returning variable-sized data. Getting tired of carefully studying MSDN for each particular Win32 API function how to preallocate the output memory correctly? We too...
WinStd provides a subset of Win32 API identically named functions (C++ polymorphism to the rescue), where one can use std::string
, std::wstring
, std::vector<>
etc. as an output parameter. WinStd handles all the dirty work with memory allocation for you, so you can focus on your code.
For those situations where one must quckly compose a temporary string using sprintf()
or FormatMessage()
. Or, convert a GUID to a string on the fly.
WinStd is not trying to be a full-fledged object-oriented framework on top of Win32 API. We have Microsoft to publish those once every few years - and obsolete it when they loose interest. WinStd aims at augmenting Win32 API with a little bit of help from C++.
include
folder to Additional Include Directories in your project's C/C++ settings..h
files from WinStd as needed: An auto-generated documentation is here.
More examples and use-cases can be found in GÉANTLink and ZRCola projects source code. They make heavy use of WinStd. Examples can also be found in the UnitTests
project.
This is a one-man project for the time being, so the Win32 API support is far from complete. It is added as needed. Contributions are welcome.