• 締切済み

他アプリへメッセージ送信

WinXp+VB6です。 あるアプリケーションが2つあります。 アプリAにPageDown,PageUpが送られたときに、アプリBへAlt+N,Alt+Pが送られるように、アプリAを自作したいと考えています。アプリBは、現存する他者作成のアプリです。いじれません。 仕様はかなり限定しても構いません。 他のソフトは同時起動しないで、この2つのみが動くものとしています。アプリAにいつもフォーカスを置くようにしたいと思っています。 メッセージをフックしようかとも考えたのですが、アプリAにフォーカスを持たせておけば、そこからPostMessageなどで何とか出来ないかなとも考えました。 そこでお聞きしたいのが、 1:アプリAにいつもフォーカスを持たせておくにはどうするか 2:「Alt+N」をPostMessageで送るにはどうするか 3:サブクラス化してフックしたほうが楽なのか 良い案がありましたら、よろしくお願いします。

みんなの回答

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

ちょっと間違い。 WM_KILLFOCUSじゃなくてWM_ACTIVATEでした。

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

>1:アプリAにいつもフォーカスを持たせておくにはどうするか SetWindowsHookExでグローバルフックかけて、アプリAのWM_KILLFOCUSを監視してれば出来なくもないですが、タスクバーをクリックするとか他のこと何も出来なくなりますよ、それって。 >2:「Alt+N」をPostMessageで送るにはどうするか WM_KEYDOWN、WM_KEYUPを送ってください。 送り方は調べてください。 >3:サブクラス化してフックしたほうが楽なのか サブクラス化してフックとは? どのウィンドウをサブクラス化? 自プロセス以外はまともな方法ではサブクラス化出来ません。