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函数MessageBoxint 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

Windows程序设计:一个简单的API函数调用实例相关推荐

  1. python实现简单的api接口-对Python实现简单的API接口实例讲解

    get方法 代码实现 # coding:utf-8 import json from urlparse import parse_qs from wsgiref.simple_server impor ...

  2. 简单python脚本实例-对Python实现简单的API接口实例讲解

    get方法 代码实现 # coding:utf-8 import json from urlparse import parse_qs from wsgiref.simple_server impor ...

  3. 一个简单的百度爬虫实例

    一个简单的百度爬虫实例 最近在百度aistdio自学课程,看到一个基础课程的作业是爬取百度上<青春有你>选手信息,索性就跟着爬了一下,复习一下自己去年自学的已经忘得差不多的爬虫. 直接上代 ...

  4. 一个简单的EJB-Session Bean实例

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 一个简单 ...

  5. flask post json_Flask 和 requests 搭建一个简单的API服务

    (点击上方快速关注并设置为星标,一起学Python) 路由器为腾达路由器,使用requests来进行数据的获取,使用flask来进行实现api的搭建 requests我就不介绍了,这个大家都很熟悉了, ...

  6. 如何创建一个简单的API,建议萌新食用。

    1.明确思路 API是提供数据的接口,也可以理解为是一个方法,不过这个方法是对外公开的,可以通过Http请求来调用: 我们首先要知道的是数据都是存在数据里面的,所以我们需要一个访问数据的帮助类来提升我 ...

  7. java caeser_IDEA配置SSM(Spring-Spring MVC-MyBatis)环境(maven)教程-实现一个简单的API

    @[toc] 前言 本篇从安装到配置到实现一个简单的 API 全过程,意在教大家如何使用 IDEA 如何配置 SSM 框架,如何使用 maven 仓库,也是我走了一些些弯路才得以成功的,所以希望记录我 ...

  8. 一个简单使用html的实例

    一个简单使用html的实例 起始网页 点击上个网页的连接,跳转到 代码如下 网页1的代码 <html> <head> <title>一个实例</title&g ...

  9. 用javascript进行一个简单的机器学习小实例

    虽然它可能不是机器学习传统选择的开发语言,但是JavaScript正在证明有能力完成这样的工作--即使它目前还不能与主要的机器学习语言Python竞争.在进一步学习之前,让我们做一下机器学习的介绍. ...

  10. ginapi服务器性能,如何使用 Gin 和 Gorm 搭建一个简单的 API 服务 (一)

    gin-gonic 介绍 Go 语言最近十分火热,但对于新手来说,想立马上手全新的语法和各种各样的框架还是有点难度的.即使是基础学习也很有挺有挑战性. 在这篇文章中,我想用最少的代码写出一个可用的 A ...

最新文章

  1. 我的世界java材质包转基岩_Minecraft我的世界基岩版材质包导入教程
  2. 【趋势】中国移动阅读市场AMC模型+实力矩阵+趋势预测
  3. JZOJ 6030. 【GDOI2019模拟2019.2.25】白白的
  4. 来自后端的突袭? --开包即食的教程带你浅尝最新开源的C# Web引擎 Blazor
  5. 1.0jpa 2.0_JPA 2.1:不同步的持久性上下文
  6. iOS端(腾讯Bugly)闪退异常上报扑获日志集成与使用指南
  7. Linux下查看文件和文件夹大小的df和du命令
  8. 计算机密码忘了 开不了机怎么办,电脑设了开机密码现在忘了开不了机怎么处理?...
  9. PCB设计之:必知的PCB设计八大误区
  10. 报告节选2:桌面虚拟化需重视网络和存储
  11. 验证码这种反人类的存在,浪费全球人口15万小时,有办法取缔吗?
  12. chromecast 协议_Chromecast和Android TV有什么区别?
  13. Flex(AS) JS抓取HTML页面元素数据
  14. android测量图片工具,ImageMeter Pro(图像测距)
  15. 篮球比赛分组问题(动态规划)
  16. PySpark线性回归与广义线性模型
  17. 搭建私有云maven文档(超详细)超级容易上手
  18. win11系统没有触屏怎么办 Windows11没有触屏的解决方法
  19. Social Justice Awards秋季赛学霸怎么理解?
  20. Redis安装与部署(CentOS7环境,Redis6.0.9)

热门文章

  1. 详解单例模式线程安全
  2. Win7 便签设置字体方法
  3. 分区桌面 壁纸(正在做,常用,之后在做,临时存)
  4. oracle和plsqldev的安装,win7x64下成功安装ORACLE客户端和PLSQLDEV!
  5. 微信怎么自动加好友java_Xposed-微信自动加好友功能实现
  6. Python 查询 MAC 地址相关信息
  7. 罗技鼠标G304驱动与讲解(其余类型驱动见文末)
  8. jis拉伸试棒图纸_拉力测试棒测试(拉伸试验试棒尺寸)
  9. AutoCad2012安装与使用
  10. android的天气和时钟部件,时钟天气小部件