【vc++精品源码栏目提醒】:网学会员,鉴于大家对vc++精品源码十分关注,论文会员在此为大家搜集整理了“达内培训Win32 - 其它资料”一文,供大家参考学习!
Tar na C/C教学课程 Win32核心编程Points Windows编程基础 Windows消息和消息机制 Windows绘图和字体 Windows控件 Windows资源管理 Windows文件处理 Windows内存管理 Windows的进程和线程Windows编程基础 Windows应用程序的类型 – 控制台程序 Console DOS程序,本身没有窗口,通过Windows DOS窗口执行 – 窗口程序 拥有自己的窗口,可以与用户交互 – 库程序 存放代码、数据的程序,执行文件可以从中取出代码执行和获取数 据 -静态库程序 扩展名LIB,在执行文件执行时从中获取代码 -动态库程序 扩展名DLL,在编译链接程序时,将代码放入到执行文件中Windows编程基础 三种应用程序的对比 -入口函数 控制台程序 - main 窗口程序 - WinMain 动态库程序 - DllMain 静态库程序 - 无入口函数 -文件存在方式 控制台程序、窗口程序 - EXE文件 动态库程序 - DLL文件 静态库程序 - LIB文件 -执行方式 控制台程序 - 在DOS窗口内执行。
窗口程序 - 拥有自己的窗口在自己的窗口内执行. 动态库程序 - 本身无法执行,由可执行程序或其他的DLL调用 静态库程序 - 执行是不存在,代码会嵌入到可执行文件或DLL等中。
Windows开发环境 Windows开发工具和库 – 开发工具 Visual Studio C VC1.5 - VC6.0 – VC2005-VC2010 10.0 – VC的编译工具 编译器CL.EXE 将源代码编译成目标代码 链接器LINK.EXE 将目标代码、库链接生成最终文件 资源编译器RC.EXE 将资源编译,最终通过链接器存 入最终文件Windows开发环境 – Windows库和头文件 - Windows库 kernel32.dll - 提供了核心的API,例如进程、线程、内存 管理等。
user32.dll - 提供了窗口、消息等API gdi32.dll - 绘图相关的API -头文件 windows.h - 所有windows头文件的集合 windef.h - windows数据类型 winbase.h - kernel32的API wingdi.h - gdi32的API winuser.h - user32的API winnt.h - UNICODE字符集支持HelloWorld程序的相关函数 int WINAPI WinMain HINSTANCE hInstance//当前程序的实例句柄 HINSTANCE hPrevInstance //当前程序前一个实例句柄 LPSTR lpCmdLine//命令行参数字符串 int nCmdShow //窗口的显示方式 hPrevInstance - Win32下,一般为NULL int MessageBox HWND hWnd//父窗口句柄 LPCTSTR lpText //显示在消息框中的文字 LPCTSTR lpCaption //显示在标题栏中的文字 UINT uType //消息框中的按钮、图标显示类型 // 返回点击的按钮ID编译、链接和执行 编译环境准备 VC98BINVCVARS32.BAT 编译程序 - CL CL.EXE - 显示CL的帮助 /c 只编译不链接 /Tc 编译C文件 /Tp 编译C文件 链接程序 - LINK LINK.EXE xxx.obj xxx.lib 执行编写第一个窗口程序HelloWorld版 编写窗口程序的步骤: 1 定义WinMain函数 2 定义窗口处理函数 3 注册窗口类 4 创建窗口 5 显示窗口 6 消息循环 7 消息处理资源的使用 编写资源的文件 -.rc资源脚本文件 编译rc文件 - RC.EXE 将资源链接到程序中 - LINK.EXENMAKE 和 Makefile NMAKE Makefile的一个解释执行的工具,根据 Makefile文件中的定义,编译和链接程序, 最终生成目标文件. Makefile 定义编译和链接等操作的脚本文件(把项 目的处理命令写入),一般对整个项目进 行处理。
Makefile的语法 HELLO:依赖行 cl.exe hellownd.c /c//命令行 rc.exe hellownd.rc//命令行 link.exe hellownd.obj hellownd.res user32.lib //命令行 Makefile文件中可以有多个依赖行。
执行方式 NMAKE首先找到第一个依赖行 检查依赖行的依赖项,如果发现依赖项,首先执行依赖项命令行 执行完所有依赖项命令后,再执行自己的命令行。
Windows字符和编码 字符的编码方式 -ASC码 7位表示一个字符,128个 -ASCII码 8位表示一个字符,256个 Codepage 代码页可以切换数字所代表的字符。
-DBCS字符 Double Byte Character Set 由1个或2个字节表示一个字符 -UNICODE码 在Windows平台下,采用2字节表示一个字符DBCS和UNICODE编码的区别 DBCS字符编码: A 我 是 程 序 员 01 0203 0405 0607 0809 0A0B 但是解析时,可能为: 01 02030405060708090A0B 0102 030405060708090A0B UNICODE编码: A 我 是 程 序 员 0001 0203 0405 0607 0809 0A0B 不存在解析的问题字符集的应用 ASC码 代码页的切换 设置控制台下,输出的代码页 BOOL SetConsoleOutputCP UINT wCodePageID //代码页ID 宽字节字符 wchar_t 每个字符占2个字节 char 每个字符占1个字节 wchar_t 实际是 unsigned short 类型,定义时,需要增加“L”,通 知编译器按照双字节编译字符串,采用UNICODE编码。
需要使用支持 wchar_t 函数操作宽字节字符串。
例如: wchar_t pwszText LHello wchar wprintf Lsn pwszText 字符集的应用 TCHAR ifdef UNICODE // r_winnt typedef WCHAR TCHAR PTCHAR define __TEXTquote Lquote else typedef char TCHAR PTCHAR define __TEXTquote quote endif UNICODE字符打印 printf对UNICODE字符打印支持不完善。
在Windows下使用WriteConsole API打印UNICODE 字符窗口程序的创建 窗口程序的创建步骤: 1 定义WinMain入口函数 2 定义窗口处理函数 WindowProc 3 注册窗口类 RegisterClass 4 创建窗口 CreateWindow 5 显示窗口 ShowWindow/UpdateWindow 6 消息循环 GetMessage TranslateMessage DisptachMessage 7 消息处理MSDN MSDN 的全称是 Microsoft Developer Network,这是微软公司面向软件开发者 的一种信息服务。
MSDN 库为使用 Microsoft工具、产品、技术和服务的开发 人员提供必不可少的信息资源。
MSDN 库 包含操作方法和参考文档、示例代码、技 术文章和其他内容。
安装MSDN窗口的注册 窗口类 窗口类包含了窗口的各种参数信息的数据结构。
每个窗口 都具有窗口类,基于窗口类创建窗口。
每个窗口类都具有 一个名称,使用前必须注册到系统。
窗口类的分类 -系统窗口类 系统已经定义好的窗口类,所有应用程序都可以直接使用。
-应用程序全局窗口类 由用户自己定义,当前应用程序所有模块都可以使用。
-应用程序局部窗口类 由用户自己定义,当前应用程序中本模块可以使用系统窗口类的注册 不需要注册,直接使用窗口类即可。
系统 已经定义好相应名称,例如: 按钮 - BUTTON 编辑框 - EDIT
上一篇:
如何成为一个linux开发人员
下一篇:
数控回转工作台设计 毕业设计word2003