【发布时间】:2019-09-17 16:55:42
【问题描述】:
我一直试图通过设备上下文句柄获取窗口句柄。我已经尝试过 WindowFromDC() 并且它不断返回空结果。如何从任何设备上下文中获取窗口句柄?
【问题讨论】:
-
DC 是从哪里来的?如果它什么都没有返回,它会是一个记忆DC吗?
我一直试图通过设备上下文句柄获取窗口句柄。我已经尝试过 WindowFromDC() 并且它不断返回空结果。如何从任何设备上下文中获取窗口句柄?
【问题讨论】:
也许没有属于这个 DC 的窗口。
如果没有与指定DC关联的窗口,则返回值为NULL。
例如,您可以创建一个屏幕外位图(没有窗口)并为其获取 DC。那么这个 DC 就没有窗口了。
【讨论】:
大家都知道如何获取DC的句柄,但没有人知道如何获取对应窗口的句柄?
试试这个:
HWnd = WindowFromDC(HDc)
参考:https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-windowfromdc
【讨论】:
HDC hdc; // display device context handle
// Retrieve a handle identifying the private DC.
hdc = GetDC(hwnd);
http://msdn.microsoft.com/en-us/library/dd162744(v=vs.85).aspx
【讨论】: