精通Windows API(一)Windows应用程序开发入门
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函数 MessageBoxMessageBox(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, //消息框所属的窗口的句柄,可以设置为NULLLPCSTR lpText, //字符串,表示消息框所显示的信息LPCSTR lpCaption, //字符串,表示消息框的标题UINT uType //消息框的类型,实例中设置为"MB_OK",表示消息框包含一个确定按钮);
程序运行结果
项目地址
就到这里了,至于命令行编译暂不介绍,笔者在Windows下开发用的都是集成的IDE,之前一直是做Linux下开发,突然转到Windows开发感觉很多接口都不熟悉,所以系统的学习下,做个笔记。不喜勿喷,谢谢。
精通Windows API(一)Windows应用程序开发入门相关推荐
- 视频教程-精通Win32 API编程-Windows图形界面编程-C/C++
精通Win32 API编程-Windows图形界面编程 黄强老师,国家软件设计师,软件开发工程师,项目经理.产品经理.培训讲师. 创业合伙人,多年C.C++开发经验,尤擅长移动互联网项目的开发! 黄强 ...
- GBA程序开发入门1
GBA程序开发入门 1.GBA简介 Game Boy Advanced(GBA)是日本任天堂公司于2001年推出的一款32位掌上游戏机.它着重于游戏机的便携式,并且以2D游戏为主(3D游戏依然不错). ...
- OpenWrt HelloWorld程序开发入门 (三)
OpenWrt HelloWorld程序开发入门 1.首先编译生成开发环境,在上一节已经提到(点击这里) 2.首先使用git命令获取源代码并创建SDK目录 3.把现有的helloworld工程拷贝 ...
- 教孩子学编程python语言pdf_iOS(iPhone)应用程序开发入门视频教程(35讲)
资源名称:iOS(iPhone)应用程序开发入门视频教程(35讲) 资源目录: [IT教程网]ios(iPhone)应用程序开发入门视频教程:第10讲多视图应用程序 [IT教程网]ios(iPhone ...
- 微信小程序开发—小程序开发入门
我参加CSDN博客之星评选啦,感谢大家前往投票支持! 投票地址:http://blog.csdn.net/vote/list.html?keyword=anda0109#search 本篇将为大家详细 ...
- 米家扩展程序初始化超时_米家扩展程序开发入门.md
# 米家扩展程序开发入门 ## 创建米家扩展程序 参考[README](README.md)开发新的米家扩展程序这一节. ## AndroidManifest.xml文件application下添加米 ...
- 微信小程序开发入门(连载)—— 认识微信小程序
从今天开始,为大家开一门连载课程 --<微信小程序开发入门>. 2011 年,腾讯公司新的即时通讯社交软件微信正式上线,凭借其新颖的设计风格和良好的使用体验,微信很快就获得了大量的用户.据 ...
- 微信小程序开发入门要学哪些内容
微信小程序开发入门要学哪些内容?微信小程序需要学习的知识点:注册登录.开发工具安装.配置.样式.组件.微信小程序数据渲染.网络请求API.获取用户信息API等,了解开发者工具.原生框架.模板语法.组件 ...
- 《微信小程序开发入门精要》——导读
本节书摘来自异步社区<微信小程序开发入门精要>一书中的导读,作者 李宁,更多章节内容可以访问云栖社区"异步社区"公众号查看 目 录 第1章 微信小程序入门 第1章第1节 ...
最新文章
- 传Exchange 15将于今年9月发布
- 重载new、delete和强制类型转换运算符()
- ASP.NET设置ie打印两法 (精)(转)
- Android系统从驱动到上层服务再到应用的两种服务架构方式
- windows添加删除程序打不开解决方案
- mysql 错误等级_Mysql5.7 的错误日志中最常见的note级别日志解释
- 动态规划之神奇的口袋问题
- Webpack4 学习笔记二 CSS模块转换
- 数字图像处理-运动模糊逆滤波维纳滤波(Matlab)
- NVR和DVR有什么区别_NVR和DVR哪个好 IP Camera
- 视觉检测系统设计过程中遇到的问题
- Word如何调整页边距
- 手机设备唤醒计算机,手机遥控电脑开机神器!局域网唤醒App
- 在群晖NAS上搭建 Git Server
- 使用域名注册服务 Domains配置域名【华为云至简致远】
- 你应该知道的setTimeout秘密
- Python中矩阵运算中的norm范数、axis、ord参数
- 计划成本法有哪些优势和劣势
- nRF52832不使用外部32.768K晶振,使用内部晶振
- 基于SpringBoot开发的物联网风电监测系统源码【源码分享】