Windows编程 第一讲 Windows程序内部运行原理(2)
前言
接上一讲:
分成不同的函数为了更好的封装利用
Winmain–>生命 窗口–>躯干 消息循环–>心脏 窗口过程–>大脑
句柄
句柄,资源的表示,通常以H开头。
如何编写Windows应用程序
1.入口函数WinMain
注:
- 一个应用程序同时可以运行多个应用实例(有些只允许同时运行一个)
- hPrevInstance 在Win32中已经被淘汰,这个参数已经为空,保留是为了和之前的版本兼容
- 命令行参数,类似于main(int argc char* agrv[])
- 在cmd中,输入 winmain ‘xxxx’,'xxxx’就会被输入lpCmdLine
- Cmdshow窗口状态:最大化、最小化之类
- exe文件的初始化状态,可以在快捷方式中右键–属性–运行方式选择
- int WinAPI Winmain中,WinAPI是函数调用方式
2.创建窗口
创建窗口过程需要以下四步:
- 设计一个窗口类
- 注册窗口类
- 创建窗口
- 显示及更新窗口
Step1.设计窗口类
- HICON:两个参数,第一个要设置为空,第二个传入应用程序的图标
- HCURSOR:光标 控制光标的图形
- HBRUSH:设置窗口的背景颜色 只有一个参数。返回值HGDIOBJ
- LPCTSTR:long point constant string
Step2.注册窗口类
注册一个名称即可
Step3.创建窗口
- HWND 指定父窗口(一个应用程序有父窗口和众多子窗口,菜单不是窗口)父窗口销毁,子窗口随之销毁。父窗口隐藏,子窗口一定隐藏。子窗口的显示在父窗口显示之后。
- LPVOID 多文档程序的附加参数
多文档与单文档: 多文档类似于VC,可以同时打开多个窗口。单文档类似记事本,同时只能打开一个记事本窗口。
- dwStyle 窗口的图标等宏观格式
- 坐标原点 桌面左上角