すみません、教えてください。
ほかのモジュールが出力しているメッセージボックスの「OK]ボタンを
押すために、SendMessageでEnterキーを送りたいのですが、
SendMessage関数がいまいちわかりません。
どうかSendMessage関数のコードを教えてもらえないでしょうか?
よろしくお願いします。
追伸です。
ためしに秀丸などのエディターにENTERキーを
送信したところ、ちゃんと送信されました。
どうも、相手がメッセージボックスだからダメなようです。
送信する前に、メッセージボックスのタイトルバーから
ハンドルを取得して、アクティブにはしています。
なにかご存知でしたら、よろしくお願いします。
PostMessageを使ってもだめですか?
あと、ボタンのウィンドウハンドルに対してWM_KEYDOWNのメッセージを
投げていますか?
くまさん、お世話になります。
S = PostMessage(T_HWND, WM_KEYDOWN, VK_RETURN, 0)
で、できました。
ちなみに、T_HWNDはメッセージボックスのハンドルです。
今回はOKボタンしかないのですが、
OK、CANCELとかあった場合は、どのようにして
ボタンのハンドルを取得するのでしょうか?
ボタンのフォーカスを移動させて、Enterキーなのでしょうか?
EnumChildWindowsで子ウィンドウを列挙してGetWindowTextとGetClassNameで
でキャプションとクラスを判断して、ターゲットとなるウィンドウハンドル
に対してPostMessageでいいんじゃないでしょうか。
くまさん、ありがとうございました。
EnumWindowsでメッセージボックスのハンドルは取得
したのですが、EnumChildWindowsってーのがあるんですね。
がんばります。
また、よろしくお願いします。
ツイート | ![]() |