
正文
Windows开发
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
1. 介绍
这里简单介绍了Windows应用程序开发的基础知识
2. 基础
Windows下的应用程序有控制台程序和Win32窗口程序,这里讲的是Win32窗口程序
Windows提供了相关静态库(LIB)和动态库(DLL)供程序使用
- 控制台 main
- Win32 WinMain
- DLL DllMain
- LIB 无
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
2.1 编译环境
CL.EXE: 编译器, 将源代码编译生成目标文件OBJ
LINK.EXE 链接器, 将OBJ文件和库函数链接生成EXE
RC.EXE 资源编译器,将资源脚本编译生成RES文件
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
2.2 头文件
windows.h包含了常用的定义和一些其他的头文件
windef.h - 定义了各种的数据类型
winbase.h - 定义了kernel的相关函数
wingdi.h - 定义了绘图和文字
winuser.h - 窗口 控件等函数
winnt.h - 提供Unicode支持
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
2.3 相关库
kernel32.lib - 提供进程/线程/内存函数
user32.lib - 包括窗户/界面等等
gdi32.lib - 提供绘图/文字等
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
3. 开发
使用Windows API开发的步骤为
设计窗口类: WNDCLASS
注册窗口类: RegisterClass
创建窗口类: CreateWindow
显示窗口类: ShowWindow
更新窗口类: UpdateWindow
消息循环: ......
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
更多Windows API相关内容可以参考:
<Windows常用API>
<Windows系统消息>
<Win32窗体开发主要流程>
<Windows系统消息之键鼠消息>
参考:
<GnuWin>
<Win32编程>
<Windows API Index>
<跟我一起玩Win32开发>
<Win32 API Programming Tutorial>








