0x00前言
文章中的文字可能存在语法错误以及标点错误,请谅解;
如果在文章中发现代码错误或其它问题请告知,感谢!
本例运行系统环境为windows 10,使用VS2010编译运行。
0x01代码实现
1.API简介
API是Application Programming Interface的缩写,意为应用程序编程接口。对于Windows来说,可以把API想象成一个程序库,它提供各种各样与Windows服务有关的函数。例如CreateDirectory 是用来创建一个新目录的API函数。实际上,Windows上运行的函数都可以看成调用API函数来实现的。
更多的关于API的介绍可以参考这篇文章:
http://baijiahao.baidu.com/s?id=1586026960877760125&wfr=spider&for=pc
2.创建一个简单的API调用实例
(1)打开vs2010,选择“文件”,然后选择“新建项目”,最后选择“Win32 控制台应用程序”,在“名称”框中,键入项目名称,例如“API函数调用例子”,然后单击“确定”:
(2)一直单击“下一步”,直到完成项目创建 ;
(3)在项目中 “API函数调用例子.cpp”中输入代码:
#include "stdafx.h"
#include<windows.h>
int main()
{
//调用API函数MessageBox
int nSelect = ::MessageBoxA(NULL, "Hello Word", "Greeting", MB_OKCANCEL);
if(IDOK == nSelect)
{
printf("用户选择了“确定”按键\n");
}
else
{
printf("用户选择了“取消”按键\n");
}
system("pause");
return 0;
}
(4)运行程序,除了会显示一个控制台还会弹出一个对话框:
(5)分别单击“确定”和“取消”按钮:
3.小结
上例中 MessageBox是Windows众多API中的一个,它的声明为windows.h。通常来说,调用一个API函数方法如下:
(1)包含要调用APi函数的声明文件;
(2)连接到指定的库文件(lib文件)。
在VC中已经默认连接了常用的lib文件,若要显式设置,可以在文件开头使用“#pragma comment(lib,“mylib”)”指令,mylib为目标的库文件。
(3)在API函数前加“::”符号表示这是一个全局函数,以便于C++类的成员函数相区别。
以上。
参考文档:
1.张铮,孙宝山,周立天.Windows程序设计(第3版)[M].北京;人民邮电出版社,2018.7.
2.http://baijiahao.baidu.com/s?id=1586026960877760125&wfr=spider&for=pc