Я разрабатываю (в процессе) плагин для приложения, и как часть моего плагина я хочу заменить подсказки приложения своими собственными. Однако для меня нет доступных API, поэтому я решил перейти на низкий уровень.
Я знаю класс окна всплывающей подсказки, но вопрос в том, как мне обнаружить, что он создается, и как я могу закрыть его после этого?
Вот что я думал сделать до сих пор:
- Создать общесистемный хук на WM_CREATE
- Когда поймано, проверьте класс и процесс цели WM_CREATE
- Убедитесь, что это действительно окно, о котором я забочусь:
- Если это процесс, в котором находится мой плагин
- И если класс имеет правильный тип
- И если в фокусе правильное приложение (в случае нескольких приложений)
- Отправьте WM_DESTROY в созданное окно и вместо этого создайте мое собственное окно на его позиции
Как это звучит? Предполагая, что действительно нет API для обработки всплывающих подсказок, есть ли более простой способ для того, что мне нужно?
Спасибо!
P.S. Помечен как C ++ / C #, как я намереваюсь написать на этих двух языках (C ++ для общесистемного хука, C # для всего остального)