プロが教えるわが家の防犯対策術!

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

A 回答 (2件)

どこまでご存じか分からないので基本的なことからいいますと


windowsのアプリケーションにはOSがアプリケーションを管理するため
ハンドルというものが割り振られています。
ハンドルの取得はAPIで可能として、
問題は他のアプリケーションにフォーカスがあるときに
Ctrl+aを押したときにどういう処理をするかです。
通常押したCtrl+aはそのフォーカスがある場所つまり
アクティブ状態のアプリに渡ってしまうのですが、これを横取りする方法として
サブクラス化という方法があります。
VBのプログラムを常時バックグラウンドで起動しておいて、
Ctrl+aが押されたかどうかを監視し横取りすることにより可能かと思います。

現在起動中のアプリを列挙するにはProcess32Next()APIだったかで
いけたかと思います。
何にしても先は長い話でまずはAPIの使い方についてネットなり調べてみてはいかがでしょうか?
参考までに http://www.vbvbvb.com/
サンプルが置いてあるのでわかりやすいかと思います。
    • good
    • 0

ホットキーとか



参考URL:http://versionup.zive.net/src/classlibrary/hotke …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!