他のアプリウィンドウのタイトルバーにボタンを追加する方法(XP / Vista)
-
07-07-2019 - |
質問
開いているウィンドウのハンドラーがありますが、これは必ずしもプロセスによって開かれているわけではありません。そのウィンドウにボタンを追加し、クリックされたときにボタンが特定のアプリケーション(.exe)を呼び出すようにするにはどうすればよいですか?ボタンは、システムメニューまたは最小化ボタンの隣にあります。これはXPとVistaの両方で機能するはずです(バージョンごとに異なるアプローチで構いません)。
解決
標準的なアプローチは、SetWindowsHookExを使用してDLLをプロセスに挿入し、WH_CALLWNDPROCをフックしてWM_NCPAINTメッセージを監視することです。以前はかなりうまく機能していましたが、それ以上は機能しませんでした。 Visual StylesとVista UACは、かなり長いひげを生やします。 Windows 3.xの時代には一般的でしたが、これをかなり長い間見ていません。
所属していません StackOverflow