Не подскажет ли кто ссылку на первоисточник инфы о (GetWindowLong(hwnd,-1)+delta) ?
Самому выгуглить не удалось, надежда на матерых зубров

Спасибо.
Здравствуйте, kero, Вы писали:
K>Не подскажет ли кто ссылку на первоисточник инфы о (GetWindowLong(hwnd,-1)+delta) ?
K>Самому выгуглить не удалось, надежда на матерых зубров
K>Спасибо.
вообще то с каждым окном связана структура
WND. находится она конечно в памяти ядра, но также отображается и в юзермоде (только для чтения конечно) для быстрого readonly доступа к некоторым параметрам окна, без перехода в ядро. при вызове GetWindowLongPtrW сначала вызывается
PWND ValidateHwnd(HWND hwnd);
функция которая переводит HWND в PWND (юзермодное отображение конечно) а затем (если PWND != 0) вызывается
LONG_PTR GetWindowData(PWND pWnd, int nIndex);
которая в зависимости от nIndex возвращает те или иные поля структуры WND. в случае же nIndex == -1, возвращается сам указатель на структуру, точнее на поле DWORD state; (первое поле после заголовка THRDESKHEAD).
так что в принципе если определить у себя в коде структуру WND то можно написать
PWND pWnd = CONTAINING_RECORD(GetWindowLongPtrW(hwnd, -1), WND, state);
и имееть (readonly) доступ к структуре WND.
Здравствуйте, kero, Вы писали:
K>Не подскажет ли кто ссылку на первоисточник инфы о (GetWindowLong(hwnd,-1)+delta) ?
K>Самому выгуглить не удалось, надежда на матерых зубров
K>Спасибо.
я видел объяснение от
самого
Здравствуйте, RonWilson, Вы писали:
RW>я видел объяснение от самого
А где именно видел? Не перепутал чего? Чена-то не первый год "отслеживаю", и ни на oldnewthing, ни в "Practical Development Throughout the Evolution of Windows" этакого не попадалось
Здравствуйте, 98fpbc, Вы писали:
9>вообще то с каждым окном связана структура WND.
Ага, в курсе, но интересует именно то, о чем сказал в исходном посте
Здравствуйте, kero, Вы писали:
K>Здравствуйте, RonWilson, Вы писали:
RW>>я видел объяснение от самого
K>А где именно видел? Не перепутал чего? Чена-то не первый год "отслеживаю", и ни на oldnewthing, ни в "Practical Development Throughout the Evolution of Windows" этакого не попадалось
100% видел, из нового, что в книгу не вошло — он там про SetWindowLong объяснял
Здравствуйте, kero, Вы писали:
K>Здравствуйте, RonWilson, Вы писали:
RW>>100% видел, из нового, что в книгу не вошло — он там про SetWindowLong объяснял
K>Не поленился, заново прошелся по блогу. Не нашел.
K>К тому же, если "из нового" — то вроде заведомо не первоисточник: гуглятся сообщения и 10-летней давности.
вот ей богу, помню что у него читал — но сам тоже найти не могу