如何在MinGW中使用Windows API?
每当我这样做时,我就
#include <windows.h>
并开始编码。 MinGW 附带一个
windows.h
文件,因此您无需执行任何额外操作。
我偶尔会将 Windows API 用于使用 Qt Creator/MinGW 构建的 Qt 应用程序 - 我只需
#include
适当的 Windows SDK 标头(标头随 MinGW 提供)即可正常工作。但是,您可能需要#define
一些事情才能公开某些 API 调用。例如,我最近需要调用 SHGetSpecialFolderPath
(在 shlobj.h
中找到),但需要先将 _WIN32_IE
定义为 0x0400
。
如果您在 Windows 上将 MinGW 作为 MSYS 的一部分安装,那么您可以通过 MSYS shell 内的以下命令安装
Windows.h
和其他 Win-API 标头:
pacman -S msys2-w32api-headers msys2-w32api-runtime
然后标题位于
c:/MSYS_PATH/usr/include/w32api/windows.h
您还可以通过例如搜索任何包名称(或子名称)
pacman -Ss w32api
如果您使用的是 Linux,则可以通过
安装
Windows.h
sudo apt install mingw-w64-common
那么标题位于此处
/usr/share/mingw-w64/include/windows.h
您可能需要包含编译器选项
-I/usr/share/mingw-w64/include/
添加后
#include <Windows.h>
/* your toy windows program. */
我可以使用此命令来构建我的玩具示例:
gcc main.c -mwindows