Re[6]: Найти иконку в трее
Здравствуйте, AleX.
Wednesday, February 15, 2006, 4:07:28 AM, you wrote:
A> Я бы нашел HWND окна, иконку которого нужно найти, а потом
A> сравнивал бы HWND перебираемых иконок с найденным HWND окна.
A> HWND иконки в примере на C++ находится так:
A> A> // get icon owner window handle - this is the trick!!! ;)
A> HWND hCompareWnd = NULL;
A> // transfer to local address space
A> ::ReadProcessMemory(hTrayProcess, (void*)Button.dwData, &hCompareWnd,
A> sizeof(HWND), &ReadBytes);
A> A> то есть в Button.dwData лежит указатель, по которому в памяти трея
A> хранится HWND для этой иконки.
Минутку. Разве такой фокус пройдет, если само окно, соответствующее
конкретной иконке минимизировано в трей? По крайней мере, для всех
найденных иконок IsWindow(Button.dwData) возвращает False, да и
WinSight c Spy++ окон с хэндлами Button.dwData не обнаруживают.