SendMessageについて。

解決


Enter  2004-09-11 22:28:20  No: 85526

すみません、教えてください。
ほかのモジュールが出力しているメッセージボックスの「OK]ボタンを
押すために、SendMessageでEnterキーを送りたいのですが、
SendMessage関数がいまいちわかりません。
どうかSendMessage関数のコードを教えてもらえないでしょうか?

よろしくお願いします。


Enter  2004-09-11 23:30:15  No: 85527

追伸です。
ためしに秀丸などのエディターにENTERキーを
送信したところ、ちゃんと送信されました。
どうも、相手がメッセージボックスだからダメなようです。
送信する前に、メッセージボックスのタイトルバーから
ハンドルを取得して、アクティブにはしています。

なにかご存知でしたら、よろしくお願いします。


くま  2004-09-11 23:44:21  No: 85528

PostMessageを使ってもだめですか?


くま  2004-09-11 23:50:42  No: 85529

あと、ボタンのウィンドウハンドルに対してWM_KEYDOWNのメッセージを
投げていますか?


Enter  2004-09-12 00:03:51  No: 85530

くまさん、お世話になります。
S = PostMessage(T_HWND, WM_KEYDOWN, VK_RETURN, 0)
で、できました。
ちなみに、T_HWNDはメッセージボックスのハンドルです。
今回はOKボタンしかないのですが、
OK、CANCELとかあった場合は、どのようにして
ボタンのハンドルを取得するのでしょうか?
ボタンのフォーカスを移動させて、Enterキーなのでしょうか?


くま  2004-09-12 00:39:18  No: 85531

EnumChildWindowsで子ウィンドウを列挙してGetWindowTextとGetClassNameで
でキャプションとクラスを判断して、ターゲットとなるウィンドウハンドル
に対してPostMessageでいいんじゃないでしょうか。


Enter  2004-09-12 03:04:36  No: 85532

くまさん、ありがとうございました。
EnumWindowsでメッセージボックスのハンドルは取得
したのですが、EnumChildWindowsってーのがあるんですね。

がんばります。
また、よろしくお願いします。


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

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






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