• ベストアンサー

他のアプリからVBのFormへフォーカスを戻したい。

「他のアプリケーションにフォーカスがある場合に、 ショートカットキー(例:Ctrl+a)を押すと、 VBのFormへフォーカスが移る」ということをVBでプログラムしたいのですが、APIを使うのでしょうか? VBのイベントなどを使用したプログラミングの経験はあるのですが、APIの使い方は分かりません。 どなたか教えてください。よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.1

どこまでご存じか分からないので基本的なことからいいますと windowsのアプリケーションにはOSがアプリケーションを管理するため ハンドルというものが割り振られています。 ハンドルの取得はAPIで可能として、 問題は他のアプリケーションにフォーカスがあるときに Ctrl+aを押したときにどういう処理をするかです。 通常押したCtrl+aはそのフォーカスがある場所つまり アクティブ状態のアプリに渡ってしまうのですが、これを横取りする方法として サブクラス化という方法があります。 VBのプログラムを常時バックグラウンドで起動しておいて、 Ctrl+aが押されたかどうかを監視し横取りすることにより可能かと思います。 現在起動中のアプリを列挙するにはProcess32Next()APIだったかで いけたかと思います。 何にしても先は長い話でまずはAPIの使い方についてネットなり調べてみてはいかがでしょうか? 参考までに http://www.vbvbvb.com/ サンプルが置いてあるのでわかりやすいかと思います。

その他の回答 (1)

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.2

ホットキーとか

参考URL:
http://versionup.zive.net/src/classlibrary/hotkey/hotkey.htm

関連するQ&A