デバッグ情報

日付2024-09-22
対象バージョン0.2.1
症状本アプリケーションと同時に実行している32ビット アプリケーションがフリーズする可能性
原因 (推定)32ビット用のグローバルフックDLLを実装していないため。
解説

CheappAi nana は利便性向上をねらいとして SetWindowsHookEx API によるグローバルフック(*1)を利用しています。 これは実行中のすべてのプロセスに監視用のプログラム(以下、DLL)をアタッチすることで実現されますが、 32ビット アプリケーションと64ビット アプリケーションが共存する環境ではDLLも32ビット用と64ビット用をそれぞれ用意して並列させる実装が必要でした。 現状は64ビット用DLLしか実装していないため32ビットアプリケーションの監視において不具合が生じているものと思われます。

レガシーな32ビットアプリケーションを愛用されている方はご注意ください。

詳細についてはMicrosoft Ignite | SetWindowsHookEx の「解説」を参照。

(*1) システム上のすべてのイベント(キーボード入力、マウス入力等)を監視する仕組み。

対策 0.3.0 : システムフックをローレベルフックに切り替える事で対処。