Windows API 入门(什么是 Windows API?、 实例程序 、Windows API函数有几个?)

Windows API 学习 专栏收录该内容
10 篇文章 2 订阅

什么是 Windows API?

Windows API又叫做 API 函数, 是 Windows 的核心,从技术上讲,我们技术人员在 Windows 操作系统里做技术开发,Windows 对我们技术人员来说,里面有大量的 API 函数。

API 叫做 “应用程序编程接口”(Application Programming Interface) ,我们在使用各种各样的编程语言在 Windows 开发时,都可以使用 API函数。

做程序设计、软件开发,肯定要调用或者说是使用  Windows 里已经做好的那些 API 函数。

微软在做 Windows 时,几万人做了十几年做出了大量API函数, Windows 自身在用这些函数,而我们程序员也可以调用这些函数。

所以,API函数是程序员的必学基础。



实例程序

先创建一个常规的空项目,用C++语言。接触的第一个API函数   : 弹出对话框函数

#include <iostream>
#include <Windows.h>//加上Windows.h头文件
using namespace std;

int main()
{
	cout << "Hellow C++" << endl;

	//弹出一个对话框函数,第一个参数为副窗口一般写NULL,第二个参数是消息的内容,第三个参数是标题,第四个参数是按钮(常量)
	MessageBox(NULL, TEXT("Hellow C++"), TEXT("标题"), MB_OK);

	system("pause");
	return 0;
}


我们也可以 把 main函数改一改 。因为我们现在要做的是Windows的程序,Windows的程序有一个 Winmain  , 我们把 Winmain 写上,就更能体现我们是 Windows 程序

Winmain()有四个参数,微软规定我们做 Windows 程序设计, 就必须把这四个参数写上,即使不用到。(c语言或者c++语言的程序可以是windows的,也可以不是windows的)

#include <iostream>
#include <Windows.h>//加上Windows.h头文件
using namespace std;

int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
	cout << "Hellow C++" << endl;

	//弹出一个消息框函数,第一个参数为副窗口一般写NULL,第二个参数是消息的内容,第三个参数是标题,第四个参数是按钮(常量)
	MessageBox(NULL, TEXT("Hellow C++"), TEXT("标题"), MB_OK);

	system("pause");
	return 0;
}

上面的已经越来越像 Windows 程序设计了 , 下面来做一个稍微复杂一点的例子 , 建立一个 Win32 项目 ,取代常规空项目。这个就是 Windows 窗口界面的了,就不是那个黑黑的窗口了。

建立好了之后会自动出现很多已经生成的代码,现在暂且不理会它们,以后要慢慢学习


比如我在这里添加一个  按下鼠标左键,弹出消息框 函数




运行一下   然后单击鼠标左键



再来一个MFC

最简单的MFC,勾选 “基于对话框”



运行



又因为 API在MFC中有了新的包装

/*
void CMFCApplication2Dlg::OnBnClickedButton1()
{
	// TODO:  在此添加控件通知处理程序代码
	::MessageBox(NULL, TEXT("Hellow MFC"), TEXT("标题啦啦啦"), MB_OK);
	//因为MFC是C++  而这些API函数都是在默认命名空间里的,所以要加 "::"
}
*/

void CMFCApplication2Dlg::OnBnClickedButton1()
{
	// TODO:  在此添加控件通知处理程序代码
	MessageBox(TEXT("Hellow MFC"), TEXT("标题"));//作了简化,同样可以运行
	//我们也可以写成这样,这时的MessageBox函数不在默认作用域里了,应该是在 CMFCApplication2Dlg 这个类里了
	//为了一探究竟,我们可以点开 CMFCApplication2Dlg.h 这个头文件
}

我们点开了 CMFCApplication2Dlg.h 这个头文件


可见 , 这个类 继承了 CDialogEx  这个类, 那么 明白了 , 那个 MessageBox 函数是在父类 CDialogEx  这个类中




Windows API函数有几个?

实际上,有几万个API函数。。就像一本英语词典,我们需要熟练掌握那些常用的,而另外的则是遇到了再进行学习







作为Microsoft 32位平台的应用程序编程接口, Win32 API是从事Windows应用程序开发所必备的。 首先对Win32 API函数做完整的概述;然后收录五大类函数: 窗口管理、图形设备接口、系统服务、国际特性以及网络服务; 在附录部分,讲解如何在Visual Basic和Delphi中对其调用。 本书是从事Windows应用程序开发的软件工程师的必备参考手册。 控件与消息函数 共91个函数 硬件与系统函数 共98个函数 设备场景函数 共73个函数 绘图函数 共105个函数 位图、图标和光栅运算函数 共39个函数 菜单函数 共37个函数 文本和字体函数 共41个函数 打印函数 共66个函数 文件处理函数 共118个函数 进程和线程函数 共40个函数 Windows消息函数 共11个函数 网络函数 共14个函数 目 录 第一章 Win32 API概论…………………………………………………………………………1 1.1 为什么使用Win32 API …………………………………………………………………1 1.2 Win32 API简介 …………………………………………………………………………1 1.3 综述………………………………………………………………………………………11 第二章 窗口管理函数Windows Control Function) ……………………………………13 2.1 易用特性函数(Accessibility Features)…………………………………………13 2.2 按钮函数(Button)……………………………………………………………………20 2.3 插入标记(^)函数(Caret)…………………………………………………………21 2.4 组合框函数(Combo box) ……………………………………………………………24 2.5 通用对话框函数(Common Dialog Box) ……………………………………………25 2.6 标函数(Cursor)………………………………………………………………………36 2.7 对话框函数(Dialog Box)……………………………………………………………40 2.8 编辑控制函数(Edit Control)………………………………………………………54 2.9 图标函数(Icon)………………………………………………………………………54 2.10 键盘加速器函数(Keyboard Accelerator)……………………………………… 61 2.11 键盘输入函数(Keyboard InPut) …………………………………………………63 2.12 列表框函数(List box) ……………………………………………………………75 2.13 菜单函数(Menu) ……………………………………………………………………76 2.14 消息和消息队列函数(Message and Message Queue)……………………………90 2.15 鼠标输入函数(Mouse Input) ……………………………………………………100 2.16 多文档接口函数(Multiple Document Interface) ……………………………103 2.17 资源函数(Resource)………………………………………………………………105 2.18 滚动条函数(Scroll Bar)…………………………………………………………113 2.19 窗口函数Window)…………………………………………………………………119 2.20 窗口类函数Window Class)………………………………………………………144 2.21 窗口过程函数Window Procedure)………………………………………………150 2.22 窗口属性函数Window Property) ………………………………………………152 第三章 图形设备接口函数(Graphic Device Interface Function) …………………155 3.1 位图函数(Bitmap) …………………………………………………………………155 3.2 笔刷函数(Brush)……………………………………………………………………171 3.3 剪切函数(Clippin
©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值