c++可以直接调用windows api吗

如题所述

c++调用windows API方法非常方便,只要在文件的开头包含了相应的头文件就可以直接调用了.下面给一个简单的例子:
#include "stdafx.h" // 这是VC自动添加的文件,没有什么用途
#include <windows.h> // 包含MessageBox函数声明的头文件

int main(int argc, char* argv[])
{
// 调用API函数MessageBox
int nSelect = ::MessageBox(NULL, "Hello, Windows XP", "Greetings", MB_OKCANCEL);
if(nSelect == IDOK)
printf(" 用户选择了“确定”按钮 \n");
else
printf(" 用户选择了“取消”按钮 \n");
return 0;
}
调用API具体步骤:
1.包含调用函数的头文件;
2.连接指定的库文件;
3.API函数前加::符号,表示全局函数.
4.在MSDN中可以找到相关API的用法。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-08-26
这个是用windows API写程序的基本框架
这只是一个最框架,因为不了解你的功能的详细情况,所以剩下的就由你自己去填写与扩充

#include

#include
using namespace std;

LRESULT CALLBACK WndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam );

int WINAPI WinMain(
HINSTANCE hInst, //应用程序的当前句柄实例
HINSTANCE prevhInst, //应用程序的先前句柄实例
LPSTR cmdLine, //指向应用命令行的指针
int show) //窗口显示方式,该参数可以是下列值之一:
// SW_HIDE:隐藏窗口并且激活另外一个窗口。
// SW_MINIMIZE:最小化指定的窗口,并且激活在系统表中的顶层窗口。
// SW_RESTORE:激活并显示窗口。如果窗口已经最小化或最大化,系统将以恢复到原来的尺寸和位置显示窗口(与SW_SHOWNORMAL相同)。
// SW_SHOW:激活一个窗口并以原来的尺寸和位置显示窗口。
// SW_SHOWMAXIMIZED:激活窗口并且将其最大化。
// SW_SHOWMINIMIZED:激活窗口并将其最小化(以图标显示)。
// SW_SHOWMINNOACTIVE:将一个窗口显示为图标。激活窗口维持活动状态。
// SW_SHOWNA:以窗口的当前状态显示窗口。激活窗口保持活动状态。
// SW_SHOWNOACTIVATE:以窗口的最近一次的尺寸和位置显示窗口。激活窗口维持激活状态。
// SW_SHOWNORMAL:激活并显示窗口。如果窗口最大化或最小化,系统将其恢复到原来的尺寸和位置(与SW_RESTORE相同)
{
CoInitialize(NULL);
MSG msg = {0}; //创建并初始化msg
while(msg.message != WM_QUIT)
{
if(PeekMessage(&msg,0,0,0,PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
{
}
}
CoUninitialize();
return 0;
}

LRESULT CALLBACK WndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )
{
switch(message)
{
case WM_INITDIALOG:
break;
case WM_COMMAND:
break;
case WM_LBUTTONDOWN:
break;
case WM_MOUSEMOVE:
break;
case WM_LBUTTONUP:
break;
case WM_PAINT:
break;
case WM_CLOSE:
break;
case WM_DESTROY:
break;
case WM_QUIT:
break;
}
return 0;
}
第2个回答  2017-08-25
当然可以。WindowsAPI是用C开发的,C++全面兼容C呢
第3个回答  2017-08-26
如果使用vs的话,有windowsapi的库可以包含进来调用