Windows程序设计:一个简单的API函数调用实例
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函数调用实例相关推荐
- python实现简单的api接口-对Python实现简单的API接口实例讲解
get方法 代码实现 # coding:utf-8 import json from urlparse import parse_qs from wsgiref.simple_server impor ...
- 简单python脚本实例-对Python实现简单的API接口实例讲解
get方法 代码实现 # coding:utf-8 import json from urlparse import parse_qs from wsgiref.simple_server impor ...
- 一个简单的百度爬虫实例
一个简单的百度爬虫实例 最近在百度aistdio自学课程,看到一个基础课程的作业是爬取百度上<青春有你>选手信息,索性就跟着爬了一下,复习一下自己去年自学的已经忘得差不多的爬虫. 直接上代 ...
- 一个简单的EJB-Session Bean实例
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 一个简单 ...
- flask post json_Flask 和 requests 搭建一个简单的API服务
(点击上方快速关注并设置为星标,一起学Python) 路由器为腾达路由器,使用requests来进行数据的获取,使用flask来进行实现api的搭建 requests我就不介绍了,这个大家都很熟悉了, ...
- 如何创建一个简单的API,建议萌新食用。
1.明确思路 API是提供数据的接口,也可以理解为是一个方法,不过这个方法是对外公开的,可以通过Http请求来调用: 我们首先要知道的是数据都是存在数据里面的,所以我们需要一个访问数据的帮助类来提升我 ...
- java caeser_IDEA配置SSM(Spring-Spring MVC-MyBatis)环境(maven)教程-实现一个简单的API
@[toc] 前言 本篇从安装到配置到实现一个简单的 API 全过程,意在教大家如何使用 IDEA 如何配置 SSM 框架,如何使用 maven 仓库,也是我走了一些些弯路才得以成功的,所以希望记录我 ...
- 一个简单使用html的实例
一个简单使用html的实例 起始网页 点击上个网页的连接,跳转到 代码如下 网页1的代码 <html> <head> <title>一个实例</title&g ...
- 用javascript进行一个简单的机器学习小实例
虽然它可能不是机器学习传统选择的开发语言,但是JavaScript正在证明有能力完成这样的工作--即使它目前还不能与主要的机器学习语言Python竞争.在进一步学习之前,让我们做一下机器学习的介绍. ...
- ginapi服务器性能,如何使用 Gin 和 Gorm 搭建一个简单的 API 服务 (一)
gin-gonic 介绍 Go 语言最近十分火热,但对于新手来说,想立马上手全新的语法和各种各样的框架还是有点难度的.即使是基础学习也很有挺有挑战性. 在这篇文章中,我想用最少的代码写出一个可用的 A ...
最新文章
- 我的世界java材质包转基岩_Minecraft我的世界基岩版材质包导入教程
- 【趋势】中国移动阅读市场AMC模型+实力矩阵+趋势预测
- JZOJ 6030. 【GDOI2019模拟2019.2.25】白白的
- 来自后端的突袭? --开包即食的教程带你浅尝最新开源的C# Web引擎 Blazor
- 1.0jpa 2.0_JPA 2.1:不同步的持久性上下文
- iOS端(腾讯Bugly)闪退异常上报扑获日志集成与使用指南
- Linux下查看文件和文件夹大小的df和du命令
- 计算机密码忘了 开不了机怎么办,电脑设了开机密码现在忘了开不了机怎么处理?...
- PCB设计之:必知的PCB设计八大误区
- 报告节选2:桌面虚拟化需重视网络和存储
- 验证码这种反人类的存在,浪费全球人口15万小时,有办法取缔吗?
- chromecast 协议_Chromecast和Android TV有什么区别?
- Flex(AS) JS抓取HTML页面元素数据
- android测量图片工具,ImageMeter Pro(图像测距)
- 篮球比赛分组问题(动态规划)
- PySpark线性回归与广义线性模型
- 搭建私有云maven文档(超详细)超级容易上手
- win11系统没有触屏怎么办 Windows11没有触屏的解决方法
- Social Justice Awards秋季赛学霸怎么理解?
- Redis安装与部署(CentOS7环境,Redis6.0.9)