Tag: WIndows 编程开发

错误处理
Win32 开发基础

常见的错误处理方法

COM 组件中使用 HRESULT 类型的值表示方法或者函数调用的结果成功与否。各种各样的 SDK 在头文件中定义了很多不同的 HRESULT 类型的常量。

Read More »
编码实践
Win32 开发基础

COM 编码实践

本篇文章主要介绍了在使用 COM 组件中常见的一些问题,包括 __uuidof 运算符,IID_PPV_ARGS 宏的使用,以及如何安全的释放 COM 组件。

Read More »
接口查询
Win32 开发基础

查询COM组件接口

我们已经知道了一个对象可以实现一个或多个接口,在上面对话框的案例中,Common Item Dialog 对象实现了 IFileOpenDialog 接口,这个接口定义显示和获取选择文件的基本方法。

Read More »
生命周期
Win32 开发基础

管理对象的生命周期

COM 接口 还有一个规则在上面的信息中没有提及,这就是每个 COM 接口都必须直接的或者间接的继承一个叫做 IUnknown 的接口类。这个接口为 COM 组件提供一些底层的功能支持。

Read More »
对话框
Win32 开发基础

打开一个对话框

Windows 操作系统内部提供了大量的 COM 接口,为了在程序中打开一对话框,可以使用一个叫做 Common Item Dialog 的 COM 组件。

Read More »
COM 组件初始化
Win32 开发基础

初始化 COM 组件库

任何 Windows 程序在使用 COM 组件 前都必须调用 CoInitializeEx 函数初始化。使用 COM 接口 的每个线程都需要执行这个初始化步骤, CoInitializeEx 函数的声明如下。

Read More »
COM 组件
Win32 开发基础

什么是 COM 接口?

如果你了解 C# 或者 Java 语言,接口就会是一个非常熟悉的概念。接口是一个对象上一组操作的集合,不涉及任何实现的细节,接口标志着方法和实现的分离。计算机中这种现象叫做解耦(decoupled)。

Read More »
COM
Win32 开发基础

COM 组件

COM 是一种软件创建中可重用组件的规范准则,现代的 Windows 程序中有许多地方都会使用到 COM 组件。

Read More »
加速表
Win32 开发基础

加速表

应用程序经常定义一些键盘快捷键,例如 CTRL+O 组合键代表文件打开命令。你可以通过捕获 WM_KEYDOWN 消息来实现快捷键的逻辑,但是更好的解决方案是使用加速表(accelerator tables),或者称为快捷键表的方式来替代。

Read More »
键盘
Win32 开发基础

键盘输入

键盘有几种不同的输入类型:字符输入,用户用来编辑文本。键盘快捷键,执行一些程序的快捷操作,例如:CTRL+O 打开文件。系统命令,执行一些系统操作,例如:ALT+TAB 选择窗口。

Read More »