- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:64bitOSでGetFocus取得できず)
64bitOSでGetFocus取得できず
このQ&Aのポイント
- windowsでキーボードをフックし、フォアグラウンドのアプリのキーを取得し、実行ファイル名を取得しようとしています。
- 32bitのWindowsや64bitのWindows7では問題なくファイル名を取得できたが、64bitアプリでは取得できない。
- GetFocusの戻り値がNULLになっている可能性があるが、他の方法があるのか検討中。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#259269
回答No.1
64bit OS 上で動作する 32bit 実行環境は、 WOW64 によって 64bit 実行環境とは隔離されていますので、64bit 実行環境にアクセスする場合は、DLL およびそれを利用するアプリケーションも 64bit 化する必要があります。
その他の回答 (1)
noname#259269
回答No.2
>しかしそうなりますと、64/32bitアプリ毎にそれぞれ64/32bitのフックプロシージャが必要となり、また64bitアプリは64bitフックプロシージャに32bitアプリは32bitフックに個別に接続が可能であるということになりますでしょうか。 はい、そのとおりです。 試してみてくださいませ。
質問者
お礼
どうもありがとうございました。 現在環境がBCB5なので、VSに移して32/64bit二つビルドし確認してみようと思います。
補足
ご回答ありがとうございます。 しかしそうなりますと、64/32bitアプリ毎にそれぞれ64/32bitのフックプロシージャが必要となり、また64bitアプリは64bitフックプロシージャに32bitアプリは32bitフックに個別に接続が可能であるということになりますでしょうか。