Windows应用程序开发入门
示例
//头文件
#include <Windows.h>
//链接时使用User32.lib
#pragma comment(lib,"User32.lib")
/// @brief Windows应用程序入口
/// @param hInstance 数据类型HINSTANCE,此参数表示应用程序本次运行实例的句柄
/// @param hPrevInstance 数据类型HINSTANCE,表示应用程序之前运行实例的句柄,但在实际应用中,此参数始终为NULL
/// @param lpCmdLine 运行时参数,例如在cmd命令行中运行"start.exe command argumeng",那么此参数将指向字符串"command argumeng",类型 LPSTR 是Windows API中常用的字符串类型
/// @param nCmdShow 表示应用程序窗口(如果有)的显示状态。
/// @return
int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
//调用API函数 MessageBox
MessageBox(NULL, TEXT("开始学习Windows编程,并做学习笔记"), TEXT("消息对话框"), MB_OK);
return 0;
}
代码分析
#include <Windows.h>
编译声明,指明了包含 Windows.h 头文件。
Windows.h 头文件是Windows应用程序开发中常用的头文件,在Windows应用程序开发中所使用的很多的数据类型、结构、API接口函数都在Windows.h中或Windows.h所包含的其他头文件中进行了声明。例如实例中的MessageBox函数。
#pragma comment(lib,"User32.lib")
指明将源文件编译生成目标文件(.obj
)后,将目标文件链接可执行文件的过程中需要使用到 User32.lib
,因为 User32.lib
中包含了 MessageBox
的链接信息。
MessageBox的原型:
int MessageBox(
HWND hWnd, //消息框所属的窗口的句柄,可以设置为NULL
LPCSTR lpText, //字符串,表示消息框所显示的信息
LPCSTR lpCaption, //字符串,表示消息框的标题
UINT uType //消息框的类型,实例中设置为"MB_OK",表示消息框包含一个确定按钮
);
程序运行结果
就到这里了,至于命令行编译暂不介绍,笔者在Windows下开发用的都是集成的IDE,之前一直是做Linux下开发,突然转到Windows开发感觉很多接口都不熟悉,所以系统的学习下,做个笔记。不喜勿喷,谢谢。