![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
GetWindowLong
jonni © (2004-11-07 01:21:00)Есть вот такой кусок кода.........
struct TWIconDataT
{
DWORD imageIndex;
NOTIFYICONDATAW dw;
};
typedef TWIconDataT* pTWIconDataT;
struct TWIconsInfoT {
int Cnt;
pTWIconDataT* iconData;
};
struct TWDataT {
DWORD unknown[7];
TWIconsInfoT* iconsInfo;
HIMAGELIST iconList;
};
TWDataT* twd=(TWDataT*)GetWindowLong(NotifyWnd,0);
NotifyWnd это NotifyTrayWnd (System Tray)
Help по функции GetWindowLong показал то что ни одна из постоянных типа GWL_**** не имеет нулегого значения....
Что же получается при выполнение GetWindowLong с "0"????
кстати как это можно переписать на Delphi???
cgfcb,j
GuAV (2004-11-07 02:25:00) [1]jonni (07.11.04 1:21)
Что же получается при выполнение GetWindowLong с "0"????
Из MSDN:
LONG GetWindowLong( HWND hWnd,
int nIndex
);
nIndex
[in] Specifies the zero-based offset to the value to be retrieved. Valid values are in the range zero through the number of bytes of extra window memory, minus four; for example, if you specified 12 or more bytes of extra memory, a value of 8 would be an index to the third 32-bit integer. To retrieve any other value, specify one of the following values.
...
Remarks
Reserve extra window memory by specifying a nonzero value in the cbWndExtra member of the WNDCLASSEX structure used with the RegisterClassEx function.
Т.е. первый DWORD в "дополнительной памяти окна".