RECT *a;
HWND tr = FindWindow("Shell_TrayWnd", "");
HWND st = FindWindowEx(tr, 0, "traynotifywnd", "");
HWND cl = FindWindowEx(st, 0, "trayclockwclass", "");
GetWindowRect(cl, a);
this->Width = a->Right - a->Left;
this->Height = a->Bottom - a->Top;
this->Top = 0;
this->Left = 0;
SetParent(this->Handle, cl);
Не возвращает хендл окна
Выполняя следующий код, я пытаюсь получить хендл окна часов Windows (естественно, чтобы поместить туда свои):
Код:
Во-первых, когда этот код находится в обработчике события формы или компонента, C++ Builder никак не хочет "понять", что SetParent -- функция API, а не формы, но я перенес этот код в процедуру WinMain. Там код работает нормально, переменные tr и st не пустые, а вот 4-ая строка хендла не возвращает. В Visual Basic аналогичный код на той же ОС выполняется корректно. Подскажите, пожалуйста, как наладить работу этого кода? Спасибо.
и пробуйте где изначально хотели. Классы (судя по WinXP) вроде верные
Цитата: Phodopus
::SetParent()
и пробуйте где изначально хотели. Классы (судя по WinXP) вроде верные
и пробуйте где изначально хотели. Классы (судя по WinXP) вроде верные
Попробовал. Точно также эта строка не возвращает хендл
Код:
HWND cl = FindWindowEx(st, 0, "trayclockwclass", "");
Я написал на VB программку, в которую передаю хендл окна своих часов, и эта программка ставит окно в трей (приведенным выше кодом). В этом случае работает все нормально, но мне нужно, чтобы все на С++ было :)