Windows编程入门:从控制台到动态库

需积分: 16 2 下载量 2 浏览量 更新于2024-08-19 收藏 9.02MB PPT 举报
"这篇教程主要介绍了如何在Win32环境下使用MFC库创建标签式属性页,以及Windows编程的基础知识,包括不同类型的Windows应用程序、入口函数、文件存在方式和执行方式。此外,还提到了Windows开发环境中的常用工具、库和头文件。" 在Windows编程中,`CPropertySheet` 是MFC(Microsoft Foundation Classes)库中一个关键类,用于构建多页面对话框,通常被称为属性页或选项卡对话框。在创建标签式属性页时,首先需要实例化 `CPropertySheet` 类,如下所示: ```cpp CPropertySheet sheet( "设置" ); ``` 这将创建一个名为 "设置" 的属性页。然后,可以通过修改其 `m_psh` 成员变量来调整属性页的风格和其他参数,以满足特定需求。 Windows应用程序主要分为三种类型:控制台程序、窗口程序和库程序。控制台程序通常以DOS窗口形式运行,不提供图形用户界面。窗口程序则拥有自己的窗口,并且能够与用户进行交互。库程序包括静态库和动态库,前者在编译时其代码会被插入到目标程序中,而后者(动态链接库,DLL)在运行时被加载,可以被多个程序共享。 每种类型的程序都有不同的入口函数: - 控制台程序:`main` - 窗口程序:`WinMain` - 动态库程序:`DllMain` 文件存在方式也有所不同: - 控制台程序和窗口程序:EXE文件 - 动态库程序:DLL文件 - 静态库程序:LIB文件 在Windows开发中,Visual Studio C++ 是常用的集成开发环境(IDE),它提供了编译器CL.EXE、链接器LINK.EXE和资源编译器RC.EXE等工具,用于编译源代码、链接目标代码和处理资源。Windows API通常包含在kernel32.dll、user32.dll和gdi32.dll等库中,开发者可以通过包含对应的头文件(如 `Windows.h`)来使用这些API。 例如,一个简单的“HelloWorld”程序可能会涉及到 `WinMain` 函数,这是窗口程序的入口点,如下所示: ```cpp int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // ... MessageBox(NULL, L"Hello, World!", L"你好,世界!", MB_OK); // ... return 0; } ``` `MessageBox` 函数是 `user32.dll` 提供的一个API,用于弹出信息框,显示 "Hello, World!"。 通过学习和应用这些基本概念,开发者可以构建出具有复杂功能的Windows应用程序,包括使用标签式属性页的设置对话框。MFC库提供了一套面向对象的接口,使得在Win32环境中开发更为便捷。