2014-09-18 4 views
0

Мне нужно создать окно, которое будет следовать за внешней программой (например, Notepad.exe). Когда пользователь перемещает Notepad.exe в новую позицию на рабочем столе, я хочу, чтобы мое окно также перемещалось.Windows - знание внешнего перемещения окна

Я сделал некоторые исследования: -

  1. Использование SetParent (где родитель Notepad) - Я получил это делают первоначально, перемещаясь Блокнот не будет оказывать свое окно.

  2. Использование SetWindowPos и ​​SetWindowHook в блокноте.

  3. Использование SetWindowSubClass. Это не работает, получив код ошибки. Возможно, Блокнот - это другой процесс.

Я думаю, что нет.2 путь, по которому я хочу идти глубже. Как вы думаете, это правильный путь? Является ли это излишним?

ответ

2

См SetWinEventHook function.

Также смотрите SetWindowsHookEx function, в частности крючок WH_GETMESSAGE может быть полезен.

+1

WH_CBT может быть уместным, так как в основном это касается сообщений, связанных с продолжительностью жизни, размером и положением окна. CBT означает «компьютерное обучение». Крючки CBT предназначены для учебных приложений, которые показывают, как использовать другое приложение. –

Смежные вопросы