掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
表示したダイアログのボタンを即押しするには? (ID:122565)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>3−t様 >ダイアログが表示されている状態で実行すれば取得できるのであれば >考えられるのはFindWindowExを実行するタイミングの問題と思ったわけですが >ステップ実行して、ダイアログが表示されるのを確認してから処理を実行しても同じ結果ですか? ステップ処理で順追って処理を進めるとボタンクリック用関数の ラスト(BM_CLICKをSendMessageしてダイアログを表示されたところ) で止まってしまい、ダイアログの検索までたどり着きませんでした。 表示されたダイアログのボタンをEnterキーなどを使って手動でクリック するとダイアログは消えますが、ダイアログを消した後にダイアログの 検索が実行されました。(手動クリック後にクリック関数を抜ける) ちなみにクリック用の関数ソースは以下のとおりです。 ----------- Public Sub BtnPush(ByVal strWCls As String, ByVal strWName As String, ByVal strBCls As String, ByVal strBName As String) Dim WINDOW_CLS As String '* フォームのクラス Dim WINDOW_NAME As String '* フォームのキャプション Dim BUTTON_CLS As String '* ボタンのクラス Dim BUTTON_NAME As String '* ボタンのキャプション Dim hWnd As Long Dim hChild As Long Dim sWndText As String Dim lRet As Long WINDOW_CLS = strWCls WINDOW_NAME = strWName BUTTON_CLS = strBCls BUTTON_NAME = strBName '大元のハンドルを取る hWnd = FindWindow(WINDOW_CLS, WINDOW_NAME) If hWnd = 0 Then Exit Sub End If 'ボタンのハンドルを取る hChild = FindWindowEx(hWnd, 0, BUTTON_CLS, BUTTON_NAME) If hChild = 0 Then Exit Sub End If SendMessage hChild, WM_ACTIVATE, 1, 0& SendMessage hChild, BM_CLICK, 0, 0& End Sub クリック関数の呼び出し例(ファイル出力ボタンをクリックさせる場合) Call BtnPush("TSearchCondition", "SearchCondition", "TButton", "ファイル出力") -------
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.