#ifdef _WIN32 #pragma once #define WIN32_LEAN_AND_MEAN #include #include #include #else #include #include #include #include #include #include #include #define ZeroMemory(x, y) std::memset(x, 0, y) #endif // min and max is required by gdi, therefore NOMINMAX won't work #ifdef max #undef max #endif #ifdef min #undef min #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef _WIN32 #pragma comment(lib, "ntdll.lib") #pragma comment(lib, "ws2_32.lib") #pragma comment(lib, "urlmon.lib" ) #pragma comment(lib, "iphlpapi.lib") #endif using namespace std::literals;