1. 介绍

这里简单介绍了Windows应用程序开发的基础知识

2. 基础

Windows下的应用程序有控制台程序和Win32窗口程序,这里讲的是Win32窗口程序
Windows提供了相关静态库(LIB)和动态库(DLL)供程序使用

- 控制台 main
- Win32 WinMain
- DLL DllMain
- LIB 无

2.1 编译环境

CL.EXE:   编译器, 将源代码编译生成目标文件OBJ
LINK.EXE 链接器, 将OBJ文件和库函数链接生成EXE
RC.EXE 资源编译器,将资源脚本编译生成RES文件

2.2 头文件

windows.h包含了常用的定义和一些其他的头文件

windef.h   - 定义了各种的数据类型
winbase.h - 定义了kernel的相关函数
wingdi.h - 定义了绘图和文字
winuser.h - 窗口 控件等函数
winnt.h - 提供Unicode支持

2.3  相关库

kernel32.lib - 提供进程/线程/内存函数
user32.lib - 包括窗户/界面等等
gdi32.lib - 提供绘图/文字等

3. 开发

使用Windows API开发的步骤为

设计窗口类: WNDCLASS
注册窗口类: RegisterClass
创建窗口类: CreateWindow
显示窗口类: ShowWindow
更新窗口类: UpdateWindow
消息循环: ......

更多Windows API相关内容可以参考:
<Windows常用API>
<Windows系统消息>
<Win32窗体开发主要流程>
<Windows系统消息之键鼠消息>

参考:
<GnuWin>
<Win32编程>
<Windows API Index>
<跟我一起玩Win32开发>
<Win32 API Programming Tutorial>

最新文章

  1. Aspose.Cells导出Excel(1)
  2. SQL Server里的文件和文件组
  3. 背水一战 Windows 10 (36) - 控件(弹出类): ToolTip, Popup, PopupMenu
  4. linux 程序管理与SElinux
  5. ORA-00988: missing or invalid password(s)
  6. js反序列化时间
  7. 帮助你在 Photoshop 中轻松实现长阴影效果的工具
  8. 手把手教你修改iOS版QQ的运动步数
  9. asp.net和脚本获取当前的URL、IP地址
  10. [wikioi]多源最短路
  11. 初识Android
  12. jar包版本冲突,并且要保留两个版本都能使用
  13. Maven 打包到Tomcat下
  14. Yii 控制dropdownlist / select 控件的宽度和 option 的宽度
  15. http请求 302解决方法
  16. Sub Lime Text
  17. CSS空白符处理!
  18. &lt;url-pattern&gt;/&lt;/url-pattern&gt;和&lt;url-pattern&gt;/*&lt;/url-pattern&gt;区别
  19. The First of my text
  20. Mac下 .bash_profile 和 .zshrc 两者之间的区别

热门文章

  1. HTTP协议原理
  2. RAID与LVM磁盘阵列技术
  3. #2 create and populate a database &amp;&amp; realistic and practical applications (PART 2)
  4. SpringCloud 微服务一:spring boot 基础项目搭建
  5. 6 json和ajax传递api数据
  6. 关于tree节点的刷新
  7. Django权限管理系统设计分析
  8. 设计模式之第6章-迭代器模式(Java实现)
  9. leetcode 【 Best Time to Buy and Sell Stock III 】python 实现
  10. IOS开发学习笔记024-UIButton和UIImageView的区别