Автор: oleg_alexeev (28.02.2007 в 13:43)
>> По WM_MOUSEMOVE вам передаются координаты окна, а не экрана - скорее всего в этом дело.
Точнее передаются координаты курсора в системе координат клиентской части окна.
А WindowFromPoint принимает координаты в экранной системе координат. Поэтому надо либо
преобразовать полученные координаты при помощи ClientToScreen, либо получить координаты
курсора сразу в экранной системе координат с помощью GetMessagePos или GetCursorPos.
Посмотрел в MSDN про GetClassName. Там не написано про какие-либо ограничения для не своих
окон. Возможно всё дело только в преобразованиях координат. На всякий случай можно проверить
возвращаемый код, и, если он 0, то вызвать GetLastError.