C# のグローバルフックは キーボードとマウスのみと云うことらしいです↓。

"Global hooks are not supported in the .NET Framework. Except for the WH_KEYBOARD_LL low-level hook and the WH_MOUSE_LL low-level hook, you cannot implement global hooks in the Microsoft .NET Framework."

WH_GETMESSAGEを受信できるのは、自分のWindowのコールバック内だけでした↓。

↑コード例共有は、非常にありがたいのですが 長時間試すと落ちました。

 

↓下記のコード例は安定動作しました。

 

 

その他のグローバルフック

↓WH_GETMESSAGEを表にしてくれている人がいました。

 

↓自分のWindowだけでスクリーンセーバーフック

 

WH_GETMESSAGEのグローバルフックをする場合C++でDLLを作れば.NET6でも受けれるらしいので次回ためす。

C# グローバルフックは WH_KEYBOARD_LLとWH_MOUSE_LLだけ