std.c.windows.windows is missing *a lot* of definitions. It also doesn't provide aliases to ASCII/UTF16 functions like WindowsAPI does via the Unicode flag, so you have to explicitly use e.g. MessageBoxA/MessageBoxW instead of MessageBox. WindowsAPI is nicely modularized, and is based on existing MinGW headers.