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应用程序开发入门相关推荐

  1. 视频教程-精通Win32 API编程-Windows图形界面编程-C/C++

    精通Win32 API编程-Windows图形界面编程 黄强老师,国家软件设计师,软件开发工程师,项目经理.产品经理.培训讲师. 创业合伙人,多年C.C++开发经验,尤擅长移动互联网项目的开发! 黄强 ...

  2. GBA程序开发入门1

    GBA程序开发入门 1.GBA简介 Game Boy Advanced(GBA)是日本任天堂公司于2001年推出的一款32位掌上游戏机.它着重于游戏机的便携式,并且以2D游戏为主(3D游戏依然不错). ...

  3. OpenWrt HelloWorld程序开发入门 (三)

    OpenWrt   HelloWorld程序开发入门 1.首先编译生成开发环境,在上一节已经提到(点击这里) 2.首先使用git命令获取源代码并创建SDK目录 3.把现有的helloworld工程拷贝 ...

  4. 教孩子学编程python语言pdf_iOS(iPhone)应用程序开发入门视频教程(35讲)

    资源名称:iOS(iPhone)应用程序开发入门视频教程(35讲) 资源目录: [IT教程网]ios(iPhone)应用程序开发入门视频教程:第10讲多视图应用程序 [IT教程网]ios(iPhone ...

  5. 微信小程序开发—小程序开发入门

    我参加CSDN博客之星评选啦,感谢大家前往投票支持! 投票地址:http://blog.csdn.net/vote/list.html?keyword=anda0109#search 本篇将为大家详细 ...

  6. 米家扩展程序初始化超时_米家扩展程序开发入门.md

    # 米家扩展程序开发入门 ## 创建米家扩展程序 参考[README](README.md)开发新的米家扩展程序这一节. ## AndroidManifest.xml文件application下添加米 ...

  7. 微信小程序开发入门(连载)—— 认识微信小程序

    从今天开始,为大家开一门连载课程 --<微信小程序开发入门>. 2011 年,腾讯公司新的即时通讯社交软件微信正式上线,凭借其新颖的设计风格和良好的使用体验,微信很快就获得了大量的用户.据 ...

  8. 微信小程序开发入门要学哪些内容

    微信小程序开发入门要学哪些内容?微信小程序需要学习的知识点:注册登录.开发工具安装.配置.样式.组件.微信小程序数据渲染.网络请求API.获取用户信息API等,了解开发者工具.原生框架.模板语法.组件 ...

  9. 《微信小程序开发入门精要》——导读

    本节书摘来自异步社区<微信小程序开发入门精要>一书中的导读,作者 李宁,更多章节内容可以访问云栖社区"异步社区"公众号查看 目 录 第1章 微信小程序入门 第1章第1节 ...

最新文章

  1. 传Exchange 15将于今年9月发布
  2. 重载new、delete和强制类型转换运算符()
  3. ASP.NET设置ie打印两法 (精)(转)
  4. Android系统从驱动到上层服务再到应用的两种服务架构方式
  5. windows添加删除程序打不开解决方案
  6. mysql 错误等级_Mysql5.7 的错误日志中最常见的note级别日志解释
  7. 动态规划之神奇的口袋问题
  8. Webpack4 学习笔记二 CSS模块转换
  9. 数字图像处理-运动模糊逆滤波维纳滤波(Matlab)
  10. NVR和DVR有什么区别_NVR和DVR哪个好 IP Camera
  11. 视觉检测系统设计过程中遇到的问题
  12. Word如何调整页边距
  13. 手机设备唤醒计算机,手机遥控电脑开机神器!局域网唤醒App
  14. 在群晖NAS上搭建 Git Server
  15. 使用域名注册服务 Domains配置域名【华为云至简致远】
  16. 你应该知道的setTimeout秘密
  17. Python中矩阵运算中的norm范数、axis、ord参数
  18. 计划成本法有哪些优势和劣势
  19. nRF52832不使用外部32.768K晶振,使用内部晶振
  20. 基于SpringBoot开发的物联网风电监测系统源码【源码分享】

热门文章

  1. 解析人工智能对双师型课堂的辅助作用
  2. 9 款必装Windows软件,你爱上了哪一款!
  3. pyqt使用mysql提示 “Driver not loaded Driver not loaded”
  4. android 平板oem,OEM厂商需知 安卓android平板需解决的5大问题
  5. pytorch实现二分类模型
  6. 第二十八节:隧道代理阿布云代理
  7. Python应用--字符串倒序输出
  8. 东华码蹄集第21周oj赛(光潮的幻像,分苹果,马走日,码哥猜想)
  9. UMP系统功能 资源管理
  10. 【C语言 strlen函数的实现】