![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
hwnd [D6, Win2k]
Axis_of_Evil © (2003-04-21 09:37:00)1)На что конкретно указывает GetDesktopWindow?
2)На что тогда указывает hwnd = 0???
// На что-то точно указывет
DVM (2003-04-21 19:42:00) [1]
> К Progman отношения не имеет.
Согласен, я стормозил. Это GetShellWindow возвращает hWnd окна оболочки.
Игорь Шевченко (2003-04-21 16:30:00) [2]DVM © (21.04.03 16:23)
GetDesktopWindow возвращает Handle окна объекта Desktop (есть такой), каковое окно является Parent"ом по умолчанию для всех окон верхнего уровня. К Progman отношения не имеет.
HWND_DESKTOP (0) это пседвоописатель, избавляющий от необхедимости вызывать каждый раз функцию GetDesktopWindow.
DVM (2003-04-21 16:23:00) [3]Только что посмотрел:
У меня GetDesktopWindow возвращает 65556, который принадлежит окну с классом #32769 (WinXPpro) - наверное картинка (обои)нарисована на нем. А hwnd=0 описатель всего экрана что ли?
DVM (2003-04-21 16:02:00) [4]
> т.е. (2) - родитель (1)
Ну это точно неверно. Т.к. (1) существует и без (2)
Что за окно на котором картинка (он то собственно и Desktop) мне доподлинно неизвестно, но с оболочкой ситуация такая:
Progman (hwnd<>0)
|
SHELLDLL_DefView (hwnd<>0)
|
SysListView32 (hwnd <>0)
Axis_of_Evil (2003-04-21 13:23:00) [5]2DVM
муу ... (1) - не только стенка с обоями,
там EnumChildWindow чего-то находит.
вариант:
(2)|- (1)
|- другие дочерние
т.е. (2) - родитель (1)
DVM (2003-04-21 10:13:00) [6]Это Microsoft виновата - внесла путаницу в понятия.
Существует 2 понятия рабочего стола:
1 - это то где располагается картинка (обои)
2 - окно оболочки (progman) - то, где располагаются значки и пр.
hwnd = 0, я полагаю, у (1)
а GetDesktopWindow возвращает hwnd (2)
Dikobrazz (2003-04-21 10:05:00) [7]Хм... По-моему hwnd=0 ни на что не указывает, просто ряд функций WinAPI, работающих с окнами (GetDC, SetParent и т.д.) при передаче им 0 считают, что речь идет о десктопе. А вот, скажем, с GetWindowRect это уже не пройдет.