#c #window #handle
#c #окно #дескриптор
Вопрос:
Я пытался получить дескриптор окна через дескриптор контекста устройства. Я пробовал WindowFromDC (), и он постоянно возвращает нулевые результаты. Как я могу получить дескриптор окна из любого контекста устройства?
Комментарии:
1. Откуда берется DC? если он ничего не возвращает, может ли это быть постоянный ток памяти?
Ответ №1:
Все люди знают, как получить дескриптор DC, но никто не знает, как получить дескриптор соответствующих окон?
Попробуйте это :
HWnd = WindowFromDC(HDc)
Ссылка:https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-windowfromdc
Ответ №2:
Возможно, нет окна, принадлежащего этому DC.
Если ни одно окно не связано с указанным DC, возвращаемое значение равно NULL.
Вы могли бы, например, создать закадровое растровое изображение (без окна) и получить для него DC. Тогда у этого DC не было бы окна.
Комментарии:
1. Почти все результаты равны нулю, поэтому я не смог определить разницу между рабочим столом и собственными контроллерами домена приложения
2. И я знаю, что он получает dc рабочего стола. hwnd рабочего стола не равен нулю.
Ответ №3:
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 = против 85).aspx
Комментарии:
1. Это обратное тому, что запрашивается.