Это должен быть комментарий к ответу IronMensan, потому что он полностью правильный, но я не могу туда вписаться ...
В API окон есть функции, которые принимают параметры типа "HANDLE" в глобальном пространстве имен,другими словами ":: РУЧКА".Библиотеки Windows уже скомпилированы для этого, и скомпилированный код существует в таких библиотеках, как user32.lib / dll.
Цель windows.h - определить типы и функции, которые уже существует в библиотеке, поэтому вы можете вызывать их.Что вы сделали, так это определили некоторые несвязанные типы, например WinAPI :: HANDLE, что хорошо, но никоим образом не изменяет тот факт, что библиотека содержит функции, для которых в качестве параметра требуется :: HANDLE.
Я понимаю, что вы пытаетесь сделать, и это хорошая цель.Однако это никак не может сработать.