SendMessageについて教えてください

解決


おえい  2002-07-13 22:58:55  No: 1111

いつも拝見させて頂いております
今回も又教えていただけませんでしょう
現在起動中の他のアプリ等にマウスでキーを送りたいもので
 // 他のアプリを出しておく
 SetForeGroundWindow(***);
 // メッセージ送信
      begin
      SendMessage(***,WM_KEYDOWN,VK_LEFT,0);
      end;
等のことをしておりますがなぜかうまく動作してくれません。
送りたいkeyも仮想キーコードの中にありますのでなぜかなと
思っております。
お時間がありましたら何卒よろしくお願い致します。


たかみちえ  URL  2002-07-14 06:27:42  No: 1112

その方法だとわざわざウィンドウをアクティブにする必要がないような気がします。
たぶん、ハンドルがTEditなど、キーイベントを受け取るコントロール(子ウィンドウ)だったら、それでいいと思います。

  わたしはいつも、Keybd_eventを使ってます。
くわしくは
http://www.microsoft.com/JAPAN/developer/library/jpuipf/_win32_keybd_event.htm
など参照。

  これだと、送信したいコントロール親ウィンドウをアクティブにしたあと、
APIを使うだけでおしまいです。


おえい  2002-07-14 17:10:01  No: 1113

たかみ様、有難う御座います。
keybd_event(VK_LEFT,0,0,0);
keybd_event(VK_LEFT,0,KEYEVENTF_KEYUP,0);で
ばっちりでした、かなり悩んでいましたがあっさり解決できました。
又、土曜日のわかりにくい時間に書き込みしたにかかわらず、すぐに
教えていただいて本当に有難う御座います。これからもよろしくお願
い致します。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加