- 締切済み
他アプリへメッセージ送信
WinXp+VB6です。 あるアプリケーションが2つあります。 アプリAにPageDown,PageUpが送られたときに、アプリBへAlt+N,Alt+Pが送られるように、アプリAを自作したいと考えています。アプリBは、現存する他者作成のアプリです。いじれません。 仕様はかなり限定しても構いません。 他のソフトは同時起動しないで、この2つのみが動くものとしています。アプリAにいつもフォーカスを置くようにしたいと思っています。 メッセージをフックしようかとも考えたのですが、アプリAにフォーカスを持たせておけば、そこからPostMessageなどで何とか出来ないかなとも考えました。 そこでお聞きしたいのが、 1:アプリAにいつもフォーカスを持たせておくにはどうするか 2:「Alt+N」をPostMessageで送るにはどうするか 3:サブクラス化してフックしたほうが楽なのか 良い案がありましたら、よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- taka_tetsu
- ベストアンサー率65% (1020/1553)
ちょっと間違い。 WM_KILLFOCUSじゃなくてWM_ACTIVATEでした。
- taka_tetsu
- ベストアンサー率65% (1020/1553)
>1:アプリAにいつもフォーカスを持たせておくにはどうするか SetWindowsHookExでグローバルフックかけて、アプリAのWM_KILLFOCUSを監視してれば出来なくもないですが、タスクバーをクリックするとか他のこと何も出来なくなりますよ、それって。 >2:「Alt+N」をPostMessageで送るにはどうするか WM_KEYDOWN、WM_KEYUPを送ってください。 送り方は調べてください。 >3:サブクラス化してフックしたほうが楽なのか サブクラス化してフックとは? どのウィンドウをサブクラス化? 自プロセス以外はまともな方法ではサブクラス化出来ません。