C получить дескриптор окна из контекста устройства

#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. Это обратное тому, что запрашивается.