Форум: "WinAPI";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];
Внизкак получить хэндл окна, находящегося под курсором мыши? Найти похожие ветки
← →
lucifer © (2005-12-01 17:15) [0]Собственно сабж!
← →
Игорь Шевченко © (2005-12-01 17:37) [1]GetCursorPos + WindowFromPoint
← →
ANB © (2005-12-01 17:42) [2]
> lucifer © (01.12.05 17:15)
Или использовать другой хук, который присылает хендл окна.
← →
Lucifer © (2005-12-02 11:58) [3]>GetCursorPos + WindowFromPoint
не больно хорошо работает! т.к. при выполнении функции WindowFromPoint возвращается значение хэндла не самого окна,а к примеру если навести не на само окно, а его компонент - то хэндл компонента!
>Или использовать другой хук, который присылает хендл окна.
А можно по подробнее!
Всем огромное спасибо!
← →
Lamer@fools.ua © (2005-12-02 12:11) [4]>>Lucifer © (02.12.05 11:58) [3]
>не больно хорошо работает! т.к. при выполнении функции WindowFromPoint возвращается значение хэндла не самого окна,а к примеру если навести не на само окно, а его компонент - то хэндл компонента!
Работает как раз прекрасно. Но если нужно именно окно в понятиях пользователя, то GetParent() или GetAncestor(), вероятно, спасёт отца русской демократии.
← →
Lucifer © (2005-12-02 12:20) [5]>то GetParent() или GetAncestor(),
хорошо, спасибо, с первым я примерно разобрался, но со вторым параметром второго не совсем? Можно по подробнее?
← →
lucifer © (2005-12-02 12:25) [6]вся проблема в том, что мне надо закрыть окно которое находиться под урсором мыши в момент нажатия определённой кнопки мыши? как закрывать окно зная его хэндл я научился, а вот как получать сам хэндл самого окна, а не его составляющего пока нет!
Заранее благодарен в любой помощи!
← →
ANB © (2005-12-02 12:31) [7]
> lucifer © (02.12.05 12:25) [6]
WH_GETMESSAGE
Но тоже получишь хендл контролла.
Вот этот код достанет тебе хендл окна :
hMainWnd := hCallWnd;
while (
((GetWindowLong(hMainWnd, GWL_STYLE) and WS_CHILD) <> 0)
and ((GetWindowLong(hMainWnd, GWL_EXSTYLE) and WS_EX_MDICHILD) = 0)
) do hMainWnd := GetParent(hMainWnd);
← →
ANB © (2005-12-02 12:32) [8]
> lucifer © (02.12.05 12:25) [6]
Не забудь отфильтровать только мышиные события, а то повесишь комп (Ctrl+Alt+Del + перелогинится - помогает)
← →
Lucifer © (2005-12-29 20:04) [9]>Не забудь отфильтровать только мышиные события, а то повесишь комп (Ctrl+Alt+Del + перелогинится - помогает)
Я не поял к чему, но за код огромное спасибо!! Работает точно так, как надо, а то я уже начал думать, что придёться отказаться от этого проекта.
Ещё раз огромное спасибо за помощь, очень признатален!
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.014 c