《全新 Microsoft Visual Studio2013指南.doc》由会员分享,可在线阅读,更多相关《全新 Microsoft Visual Studio2013指南.doc(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Visual Studio 2013 dektop Visual C+可以在微软官方站点直接下载最新的express版本,注册并且免费使用强大而灵活的 Visual C+ 语言和工具在 Visual Studio 允许在 .NET framework 上运行本机 Windows 应用商店 apps、本机桌面 apps 和托管 apps 的开发。 Visual C+ 包含以下元素: Visual Studio 开发环境 开发环境通过编写代码以支持整个开发工作流,从创建和管理的项目,调试,进行分析并部署到最终用户。可视化工具 C+compiler 编译器支持本机代码以 .NET 公共语言运行时 (
2、CLR) 的开发和开发。 Visual C+ 直接支持 x86 计算机的生成,并包括面向 x64 和 ARM 的编译器。 它优化所有平台的性能。 库 C 运行库 (crt) 包括安全增强选择要了解所造成安全问题的函数。标准 C+ 库 包含 (mfc) 库和标准模板库 (STL)。活动模板库 (ATL) 传递给 COM 组件和 apps 的创建。Microsoft 基础类 (MFC) 库选件 对的桌面 apps 创建具有传统或 Office 样式的用户界面。并行模式库 (PPL) 对 CPU 执行的异步和并行算法。C+ AMP (C+ 加速的大量并行) 对于大量在 GPU 执行的并行算法。Win
3、dows 运行时 C+ 模板库 (WRL), 为 Windows 应用商店 apps 和元素的 COM 样式的开发。.NET framework 选件类库 (通过使用 C+/CLI),STL/CLR 和 C+ 支持库 对托管 apps 的开发。此外,在中,当使用 Visual C+ 时也可以访问 Windows 应用商店 apps 和桌面 apps 的 windows API。 标头文件和 .winmd 文件这些 API 的包含在 Visual Studio 中,在 Windows 软件开发包 (SDK)Windows 8的。 Visual Studio 2012 - Visual C+Win
4、32桌面应用程序(Visual C+)可以创建 Win32 app,如果要在从 Windows 95 的 windows 版本使用基于 windows 的用户界面,并且可以运行到 Windows 8的本机桌面应用程序时。 可以使用 Visual Studio Express 2012 for Windows Desktop 或任何除 Visual Studio Express 2012 for Windows 8的 Visual Studio 版本。 Win32 应用程序 是使用消息循环处理 windows 消息直接而不是使用一种机制 (如 Microsoft 基础类 (MFC),活动模板库
5、(ATL) 或 .NET framework app 的约定术语。 虽然这个术语是“Win32”,它可以引用 32 位或 64 位应用程序。 在 C+ 的 Win32 应用程序可以使用 C 运行时 (crt) 和标准模板库 (STL) 选件类和函数,COM 对象和任何公共函数,公共称为 windows API。 有关 Win32 apps 介绍在 C+ 中,请参见 了解到窗口的程序在 C+。 Win32 应用程序是一种创建窗口的本机桌面应用程序;另一种方法是 MFC 应用程序。 MFC 是企业类型的阿普斯特殊的默认值选择阿普斯具有许多用户界面控件或自定义用户控件。 MFC 用于序列化、文本处理
6、、打印和当今用户界面元素提供方便的帮助器类选件例如功能区上。 这些选件类对 Win32 应用程序不可用。 若要创建 MFC 或 ATL 程序需要 Microsoft Visual Studio Professional 2012 或更高版本。 Visual Studio Express 2012 for Windows Desktop 不包括 MFC 或 ATL 支持。 创建标准C+程序在 Visual Studio 集成开发环境 (IDE) 可以使用 Visual C+ 创建标准 C+ 程序。 通过采用此演练中的步骤,您可以创建一个项目,向该项目添加一个新文件,修改该文件以添加 C+ 代码,
7、然后使用 Visual Studio 编译并运行程序。 您可以键入自己的 C+ 程序,或者使用示例程序之一。 此演练中的示例程序是一个控制台应用程序。 此应用程序使用标准模板库 (STL) 中的 set 容器。 Visual C+ 使用 2003 C+ 标准进行编译,但有以下几点主要例外之处:两阶段名称查找、异常规范和导出。 此外,Visual C+ 支持若干 C+0x 功能,例如,lambda、自动、static_assert、rvalue 引用和 extern 模板。 说明如果要求符合标准,请使用 /Za 编译器选项来禁用对该标准的 Microsoft 扩展。 有关更多信息,请参见/Za、
8、/Ze(禁用语言扩展)。 系统必备 若要完成本演练,您必须了解 C+ 语言的基础知识。创建项目并添加源文件1. 通过以下方式创建一个项目:指向“文件”菜单上的“新建”,然后单击“项目”。2. 在“Visual C+”项目类型窗格中,单击“Win32”,然后单击“Win32 控制台应用程序”。3. 键入项目名称。默认情况下,包含项目的解决方案与项目同名,但您可以键入其他名称。 您也可以为项目键入其他位置。 单击“确定”创建项目。4. 在“Win32 应用程序向导”中,单击“下一步”,选择“空项目”,然后单击“完成”。5. 如果未显示“解决方案资源管理器”,请在“视图”菜单上,单击“解决方案资源管
9、理器”。6. 将一个新源文件添加到项目,如下所示。a. 在“解决方案资源管理器”中,右击“源文件”文件夹,指向“添加”,然后单击“新建项”。b. 在“代码”节点中单击“C+ 文件(.cpp)”,为文件键入名称,然后单击“添加”。该 .cpp 文件即显示在“解决方案资源管理器”中的“源文件”文件夹中,并且文件将在 Visual Studio 编辑器中打开。7. 在编辑器内的文件中,键入使用标准 C+ 库的有效 C+ 程序,或者复制示例程序之一并将其粘贴在文件中。例如,您可以使用 set:find (STL Samples)示例程序,该程序是帮助中附带的标准模板库示例之一。如果使用该示例程序,请注
10、意 using namespace std; 指令。 此指令使程序能够使用 cout 和 endl,而无需完全限定名(std:cout 和 std:endl)。 8. 保存该文件。9. 在“生成”菜单上,单击“生成解决方案”。“输出”窗口显示有关编译过程的信息,例如,生成日志的位置,以及指示生成状态的消息。10. 在“调试”菜单上,单击“开始执行(不调试)”。如果使用了示例程序,将显示一个命令窗口,其中显示是否在集合中找到了特定的整数。在命令行上编译本机C+程序Visual C+ 包括一个 C+ 编译器,可用来创建从基本 Visual C+ 程序到 Windows 窗体应用程序和组件的各种程序
11、。通过按此演练的过程进行操作,您可以通过使用文本编辑器创建基本的 Visual C+ 程序,然后在命令行上对其进行编译。也可以编译使用 Visual Studio 集成开发环境 (IDE) 创建的 Visual C+ 程序。 有关更多信息,请参见Walkthrough: Compiling a C+ Program that Targets the CLR in Visual Studio。 您可以使用自己的 Visual C+ 程序,而不是键入下面步骤中所示的程序。 也可以使用其他帮助主题中的任何 Visual C+ 代码示例程序。 系统必备 若要完成本演练,您必须了解 C+ 语言的基础知识
12、。创建 Visual C+ 源文件并在命令行上对其进行编译1. 打开“Visual Studio 2010 命令提示”窗口,方法是单击“开始”,指向“所有程序”、“Microsoft Visual Studio 2010”、“Visual Studio 工具”,然后单击“Visual Studio 2010 命令提示”。可能需要管理员凭据才能成功编译此演练中的代码,具体情况视计算机的操作系统和配置而定。 若要以管理员身份运行“Visual Studio 2010 命令提示”窗口,请右击“Visual Studio 2010 命令提示”,然后单击“以管理员身份运行”。 2. 在命令提示符下,键入
13、 notepad basic.cpp,并按 Enter。在系统提示是否创建文件时,单击“是”。3. 在记事本中,键入下列各行。复制代码 #include int main() std:cout This is a native C+ program. std:endl; return 0;4. 在“文件”菜单上,单击“保存”。这样就创建了一个 Visual C+ 源文件。5. 关闭记事本。6. 在命令提示符下,键入 cl /EHsc basic.cpp,并按 Enter。 /EHsc 命令行选项指示编译器启用 C+ 异常处理。 有关更多信息,请参见/EH(异常处理模型)。 cl.exe 编译器
14、将生成一个名为 basic.exe 的可执行程序。您可以在编译器显示的多行输出信息中看到可执行程序的名称。7. 若要查看目录中具有名称 basic 以及任何文件扩展名的文件的列表,请键入 dir basic.* 并按 Enter。.obj 文件是一个中间格式文件,可以安全地忽略它。8. 若要运行 basic.exe 程序,请键入 basic 并按 Enter。该程序显示以下文本并退出:This is a native C+ program.9. 若要关闭“Visual Studio 2010 命令提示”窗口,请键入 exit 并按 Enter。编译使用 .NET 类的 Visual C+ 程序
15、 下面的步骤演示如何编译使用 .NET Framework 类的 Visual C+ 程序。您必须使用 /clr(公共语言运行时编译)编译器选项,因为此程序使用 .NET 类并且必须包括必要的 .NET 库。 Visual C+ 编译器生成的 .exe 文件包含 MSIL 代码,而不是可由计算机执行的指令。 按照本过程中的步骤编译帮助主题中的任何 Visual C+ 示例程序。在命令行上编译 Visual C+ .NET 控制台应用程序1. 打开“Visual Studio 2010 命令提示”窗口,方法是单击“开始”,指向“所有程序”、“Microsoft Visual Studio 201
16、0”、“Visual Studio 工具”,然后单击“Visual Studio 2010 命令提示”。可能需要管理员凭据才能成功编译此演练中的代码,具体情况视计算机的操作系统和配置而定。 若要以管理员身份运行“Visual Studio 2010 命令提示”窗口,请右击“Visual Studio 2010 命令提示”,然后单击“以管理员身份运行”。 2. 在命令提示符下,键入 notepad basicclr.cpp,并按 Enter。在系统提示是否创建文件时,单击“是”。3. 在记事本中,键入下列各行。复制代码 int main() System:Console:WriteLine(Th
17、is is a Visual C+ program.);4. 在“文件”菜单上,单击“保存”。您已经创建了一个使用 .NET 类 (Console) 的 Visual C+ 源文件,该文件位于 System 命名空间。5. 关闭记事本。6. 在命令提示符下,键入 cl /clr basicclr.cpp,并按 Enter。 cl.exe 编译器将生成一个名为 basicclr.exe 的可执行程序。 7. 若要查看目录中具有名称 basicclr 以及任何文件扩展名的文件的列表,请键入 dir basicclr.* 并按 Enter。.obj 文件是一个中间格式文件,可以安全地忽略它。.man
18、ifest 文件是包含有关程序集的信息的 XML 文件。 (程序集是 .NET 部署单元,例如 .exe 程序或 .dll 组件或库。) 8. 若要运行 basicclr.exe 程序,请键入 basicclr 并按 Enter。该程序显示以下文本并退出:This is a Visual C+ program.9. 若要关闭“Visual Studio 2010 命令提示”窗口,请键入 exit 并按 Enter。在Visual Studio中编译面向CLR的C+程序通过使用 Visual Studio 开发环境,您可以创建使用 .NET 类的 Visual C+ 程序,并对它们进行编译。在本
19、过程中,您可以键入自己的 Visual C+ 程序,也可以使用示例程序之一。 本过程中使用的示例程序创建一个名为 textfile.txt 的文本文件,并将其保存到项目目录中。 系统必备 这些主题假定您具备 C+ 语言的基础知识。在 Visual Studio 中创建新项目并添加新的源文件1. 创建新项目。 在“文件”菜单上,指向“新建”,然后单击“项目”。 2. 在“Visual C+ 项目类型”中单击“CLR”,然后单击“CLR 空项目”。3. 键入项目名称。默认情况下,包含项目的解决方案与新项目同名,当然,您也可以键入其他名称。 如果愿意,您可以为项目输入一个不同的位置。 单击“确定”创
20、建新项目。4. 如果“解决方案资源管理器”不可见,请单击“视图”菜单上的“解决方案资源管理器”。5. 向该项目添加新的源文件: 在解决方案资源管理器中右击“源文件”文件夹,指向“添加”并单击“新建项.”。 单击“C+ 文件(.cpp)”,键入一个文件名,然后单击“添加”。该 .cpp 文件即显示在“解决方案资源管理器”中的“源文件”文件夹中,并且,在键入要包含在该文件中的代码的位置,出现一个选项卡式窗口。6. 在 Visual Studio 中,在新创建的选项卡中单击并键入有效的 Visual C+ 程序,或者复制并粘贴示例程序之一。例如,您可以使用 如何:编写文本文件 (C+/CLI) 示例
21、程序(位于“编程指南”中的“文件处理和 I/O”节点)。如果要使用示例程序,通知您使用 gcnew关键字而不是 new,在创建 .NET 对象,并且,时 gcnew 返回句柄 () 而不是指针 (*):StreamWriter sw = gcnew StreamWriter(fileName);有关新 Visual C+ 语法的更多信息,请参见 适用于运行时平台的组件扩展。7. 在“生成”菜单上,单击“生成解决方案”。“输出”窗口显示有关编译过程的信息,如生成日志的位置,以及指示生成状态的消息。如果进行了更改,并在未执行生成的情况下运行该程序,则对话框可能指示该项目已过期。 如果要让 Visu
22、al Studio 始终使用文件的当前版本,并且在每次生成应用程序时不发出提示,请在单击“确定”之前选中此对话框上的复选框。 8. 在“调试”菜单上,单击“开始执行(不调试)”。9. 如果您使用的是示例程序,则在运行程序时将显示一个命令窗口,指示已创建了该文本文件。 按任意键,关闭该命令窗口。 textfile.txt 文本文件现在位于您的项目目录中。 您可以使用记事本打开此文件。 说明选择空 CLR 项目模板会自动设置 /clr 编译器选项。 若要验证这一点,请在“解决方案资源管理器”中右击该项目,再单击“属性”,然后选中“配置属性”的“常规”节点中的“公共语言运行时支持”选项。 编译C程序
23、Visual Studio 包括可用来创建从基本基本的 C 程序到 windows API 应用程序的 c. 编译器。此演练演示如何使用文本编辑器创建一个基本的 C 程序,然后在命令行上对其进行编译。您可以使用自己的 C 程序,而不是键入此演练中所示的示例程序。 也可以使用帮助主题中包含的任何 C 代码示例程序。 默认情况下,Visual C+ 编译器将以 .c 结尾的所有文件视为 C 源代码,将以 .cpp 结尾的所有文件视为 C+ 源代码。 若要强制编译器将所有文件视为 C(而不管文件扩展名如何),请使用 /Tc 编译器选项。 系统必备 您必须了解 C 语言的基础知识。创建 C 源文件并在
24、命令行上对其进行编译1. 打开开发人员命令提示。 在 启动 屏幕的 windows 8,在中,选择 VS2012 开发人员命令提示 平铺。 在早期版本中,选择 启动 按钮,展开 所有程序、Microsoft Visual Studio 2012和 Visual Studio 工具,然后选择 VS2012 开发人员命令提示。 基于 windows 的版本在计算机和系统安全配置中,您可能必须打开 VS2012 开发人员命令提示 的快捷菜单中选择 以管理员身份运行 成功生成和运行按这些步骤创建的应用程序。说明VS2012 开发人员命令提示 自动设置 C 编译器和所需的任何库的正确路径。 应使用它而不
25、是使用普通的“命令提示符”窗口。 有关更多信息,请参见为命令行生成设置路径和环境变量。 2. 在命令提示,请创建源文件的目录并使其成为当前工作目录。 例如,键入 md c:simple 并按 enter 创建名为 Simple 的目录,然后键入 cd c:simple 并按 enter 更改到该目录。 3. 在命令提示符处,键入 notepad 并按 enter。4. 在记事本中,输入以下行。Visual C+ 复制代码 #include int main() printf(This is a native C program.n); return 0; 5. 在菜单栏上,依次选择 文件,保存
26、 打开 另存为 对话框。 导航到已创建的内容。 在 文件名 框中,输入一个名称为源文件 (例如,simple.c 和中的 保存类型 然后在下拉列表中,选择 所有文件 (*.*)。 选择 保存 按钮创建 c. 源文件在您的工作目录。 6. 关闭记事本。7. 在命令提示,请与您的源一起的名称指定 cl 命令文件 (例如,cl simple.c并按 enter 生成程序。 cl.exe 编译器将生成将源文件的名称的可执行程序,但是,有一个 .exe 文件名扩展名 (例如,Simple.exe。 您可以在编译器显示的多行输出信息中看到可执行程序的名称。Outputx86 copyright (c) M
27、icrosoft Corporation 的 Microsoft (r) C/C+ 编译器优化第 17.00.50727.1 版。 保留所有权利。 simple.c Microsoft (r) 增量链接器第 11.00.50727.1 版 copyright (c) Microsoft Corporation。 保留所有权利。 /out:simple.exe simple.obj 8. 若要查看文件列表中工作目录中,键入 dir 并按 enter。.obj 文件是可忽略的中间格式文件。9. 若要运行程序,键入其名称,不带文件扩展名 (例如,simple并按 enter。程序显示此文本然后退出:
28、This is a native C program.10. 若要关闭命令提示符窗口,键入 exit 并按 enter。创建Win32应用程序本演练演示如何创建基于 Win32 的简单基本应用程序,该应用程序在窗口中显示“Hello, World!”。 您可以使用在此演练中开发的代码作为创建其他基于 Win32 的应用程序的模式。 Win32 API(也称为 Windows API)是用于创建 Windows 应用程序的基于 C 的框架。 有关 Win32 API 的更多信息,请参见 Windows API。 重要事项为了可以更加清楚地说明本文档内各步骤中的特定代码段,我们可能会省略一个有效应
29、用程序所必需的某些代码语句,例如 include 指令和全局变量声明。 本文档末尾的示例一节显示了完整代码。 系统必备 若要完成本演练,您必须了解 C+ 语言的基础知识。有关视频演示,请参见 Visual Studio 2008 文档中的 Video How to: Creating Win32 Applications (C+)(视频帮助:创建 Win32 应用程序 (C+))。创建基于 Win32 的项目1. 在“文件”菜单上,单击“新建”,然后单击“项目”。2. 在“新建项目”对话框的左侧窗格中,单击“已安装的模板”,单击“Visual C+”,然后选择“Win32”。 在中间窗格中,选
30、择“Win32 项目”。 在“名称”框中,键入项目名称,例如 win32app。 单击“确定”。 3. 在“Win32 应用程序向导”的“欢迎”页上,单击“下一步”。4. 在“应用程序设置”页上的在“应用程序类型”下,选择“Windows 应用程序”。 在“附加选项”下,选择“空项目”。 单击“完成”创建项目。 5. 在“解决方案资源管理器”中,右击 Win32app 项目,单击“添加”,然后单击“新建项”。 在“添加新项”对话框中选择“C+ 文件(.cpp)”。 在“名称”框中,键入文件名称,例如 GT_HelloWorldWin32.cpp。 单击“添加”。 启动基于 Win32 的应用程
31、序1. 就像每个 C 应用程序和 C+ 应用程序都以 main 函数作为起点那样,每个基于 Win32 的应用程序同样必须要有 WinMain 函数。 WinMain 具有以下语法。 复制代码 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow);有关此函数的参数和返回值的信息,请参见 WinMain 函数。2. 由于应用程序代码必须使用现有定义,因此应将 include 语句添加到文件中。复制代码 #include #include #include #i
32、nclude 3. 除 WinMain 函数外,每个基于 Win32 的应用程序还必须具有一个窗口过程函数。 此函数通常名为 WndProc。 WndProc 具有以下语法。 复制代码 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);此函数处理应用程序从操作系统接收的许多消息。 例如,在具有对话框(该对话框中有一个“确定”按钮)的应用程序中,如果用户单击该按钮,操作系统就会向该应用程序发送一条消息,告知已单击该按钮。 WndProc 负责响应该事件。 在此示例中,相应的响应可能是关闭该对话框。 有关更多信息,请参见窗口过程。向 WinM
33、ain 函数添加功能1. 在 WinMain 函数中,创建 WNDCLASSEX 类型的窗口类结构。 此结构包含有关该窗口的信息,例如,应用程序图标、窗口的背景色、要在标题栏中显示的名称、窗口过程函数的名称等等。 下面的示例演示一个典型 WNDCLASSEX 结构。 复制代码 WNDCLASSEX wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wc
34、ex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_APPLICATION); wcex.hCursor = LoadCursor(NULL, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wcex.lpszMenuName = NULL; wcex.lpszClassName = szWindowClass; wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURC
35、E(IDI_APPLICATION);有关此结构的各字段的信息,请参见 WNDCLASSEX。2. 现在您已经创建一个窗口类,接下来必须将其注册。 使用 RegisterClassEx 函数,并将窗口类结构作为参数进行传递。 复制代码 if (!RegisterClassEx(&wcex) MessageBox(NULL, _T(Call to RegisterClassEx failed!), _T(Win32 Guided Tour), NULL); return 1; 3. 现在可以创建一个窗口。 使用 CreateWindow 函数。 复制代码 static TCHAR szWindo
36、wClass = _T(win32app);static TCHAR szTitle = _T(Win32 Guided Tour Application);/ The parameters to CreateWindow explained:/ szWindowClass: the name of the application/ szTitle: the text that appears in the title bar/ WS_OVERLAPPEDWINDOW: the type of window to create/ CW_USEDEFAULT, CW_USEDEFAULT: in
37、itial position (x, y)/ 500, 100: initial size (width, length)/ NULL: the parent of this window/ NULL: this application does not have a menu bar/ hInstance: the first parameter from WinMain/ NULL: not used in this applicationHWND hWnd = CreateWindow( szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_US
38、EDEFAULT, CW_USEDEFAULT, 500, 100, NULL, NULL, hInstance, NULL);if (!hWnd) MessageBox(NULL, _T(Call to CreateWindow failed!), _T(Win32 Guided Tour), NULL); return 1;此函数返回 HWND,它是某个窗口的句柄。 有关更多信息,请参见 Windows 数据类型。 4. 现在,使用下列代码来显示窗口。复制代码 / The parameters to ShowWindow explained:/ hWnd: the value return
39、ed from CreateWindow/ nCmdShow: the fourth parameter from WinMainShowWindow(hWnd, nCmdShow);UpdateWindow(hWnd);此时,所显示的窗口不会有太多内容,因为您尚未实现 WndProc 函数。5. 现在添加一个消息循环以侦听操作系统发送的消息。 如果应用程序收到一条消息,则此循环会将该消息调度至 WndProc 函数以接受处理。 消息循环类似于下列代码。 复制代码 MSG msg; while (GetMessage(&msg, NULL, 0, 0) TranslateMessage(&ms
40、g); DispatchMessage(&msg); return (int) msg.wParam;有关消息循环中各结构和函数的更多信息,请参见 MSG、GetMessage、TranslateMessage 和 DispatchMessage。此时,WinMain 函数应与下列代码类似。复制代码 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) WNDCLASSEX wcex; wcex.cbSize = sizeof(WNDCLASSEX); wc
41、ex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_APPLICATION); wcex.hCursor = LoadCursor(NULL, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wcex.lps
42、zMenuName = NULL; wcex.lpszClassName = szWindowClass; wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_APPLICATION); if (!RegisterClassEx(&wcex) MessageBox(NULL, _T(Call to RegisterClassEx failed!), _T(Win32 Guided Tour), NULL); return 1; hInst = hInstance; / Store instance handle in our
43、global variable / The parameters to CreateWindow explained: / szWindowClass: the name of the application / szTitle: the text that appears in the title bar / WS_OVERLAPPEDWINDOW: the type of window to create / CW_USEDEFAULT, CW_USEDEFAULT: initial position (x, y) / 500, 100: initial size (width, leng
44、th) / NULL: the parent of this window / NULL: this application dows not have a menu bar / hInstance: the first parameter from WinMain / NULL: not used in this application HWND hWnd = CreateWindow( szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 100, NULL, NULL, hInstance, NULL ); if (!hWnd) MessageBox(NULL, _T(Call to CreateWindow failed!), _T(Win32 Guided Tour), NULL); return 1; / Th