VC初学者必备:20个小技巧解析

需积分: 10 2 下载量 98 浏览量 更新于2024-09-28 收藏 8KB TXT 举报
"VC小技巧20个,适合初学者学习,包含了一些实用的操作系统交互和界面字体管理的方法。" 这篇内容涉及了两个主要的VC++编程知识点,分别是多媒体控制接口(MCI)和系统关闭及字体枚举。 首先,我们来看多媒体控制接口(MCI)的使用。MCI是Windows API提供的一种用于控制多媒体设备(如CD-ROM)的接口。在示例中,使用了`mciSendString`函数来操作CD-ROM。`mciSendString`函数发送一个字符串命令到MCI,这里的命令分别用于打开和关闭CD-ROM门。这两行代码的意义是: 1. `mciSendString("SetcdAudiodooropenwait",NULL,0,NULL);` 这行代码打开CD-ROM的门,等待用户放入或取出光盘。"openwait"表示打开并等待,直到门被手动关闭。 2. `mciSendString("SetcdAudiodoorclosedwait",NULL,0,NULL);` 这行代码则关闭CD-ROM的门,并等待门被完全关闭。 这些操作通常在播放音乐光盘或进行光盘读取时使用。 接下来,我们讨论如何根据操作系统版本执行不同的关闭操作。这部分代码检查了当前运行的Windows版本,通过`GetVersionEx`函数获取`OSVERSIONINFO`结构,其中`dwPlatformId`字段标识了操作系统平台。如果`dwPlatformId`等于`VER_PLATFORM_WIN32_WINDOWS`,则表示系统是Windows 98。在这种情况下,代码使用`ExitWindowsEx`函数重启计算机。`EWX_REBOOT`参数指示系统应该重新启动。对于Windows 98,可以直接调用`ExitWindowsEx`来实现重启,但在其他版本的Windows中,可能需要更复杂的处理,例如通过调用特定的API函数来显示系统关闭对话框。 在后面的代码中,我们看到了如何加载和使用动态链接库(DLL)`shell32.dll`来调用系统的关闭对话框。`LoadLibrary`函数加载指定的DLL,`GetProcAddress`函数获取DLL中的特定函数地址。在这个例子中,`GetProcAddress`查找ID为60的函数,这通常是`ShutDownDialog`函数的入口点,用于显示系统关闭对话框并执行关机、重启等操作。 最后,我们看到与字体相关的部分。这部分展示了如何枚举并使用系统中的字体。`LOGFONT`结构用于描述字体属性,`EnumFontFamiliesEx`函数用于枚举指定设备上下文(DC)中的所有字体家族。`EnumFontFamProc`是一个回调函数,用于处理枚举过程中的每个字体家族。在这个例子中,它可能是用来选择或显示可用的字体。 总结来说,这篇内容提供了关于VC++中多媒体设备控制、操作系统交互和字体管理的实用技巧,对于初学者来说是非常有价值的实践和学习材料。通过这些技巧,开发者可以更好地控制应用程序与系统硬件的交互,以及创建更符合用户需求的图形界面。