我如何知道 Windows API 的直流类型(Windows 设备上下文)

How can I know the type of dc (Windows device context) with Windows API

我在 Windows 下得到了 dc 的句柄(HDC 类型)。我可以使用 Windows API 获取该 cd 的类型(内存 dc、window dc、打印机等)吗?

这通常是不可能的,通常也没有必要。设备上下文旨在抽象底层实现。

不过,有时了解设备上下文内容的显示位置有助于调整渲染,例如。不过调用 GetDeviceCaps with nIndex set to TECHNOLOGY retrieves that information. This doesn't allow you to discern between all four Device Context Types 加上它们的子类型。

在 HDC 上调用的

GetObjectType 将 return 不同的值,包括 OBJ_DCOBJ_MEMDC.

这有助于区分屏幕 DC 和内存 DC。

为内存 DC 创建字体以导出位图时 ANTIALIASED_QUALITY 可能是您想要的。为屏幕创建字体时 CLEARTYPE_QUALITY 可能是首选。