VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2007/06/26(Tue) 21:58
投稿者花ちゃん
Eメール
URL
タイトルRe^3: 他アプリのボタンのフォーカス移動

> TAB キーを送る場合ですが、ボタンのキャプション(今回の場合は「いいえ」)を指定して
> 送る事はできるのでしょうか?

指定する事はできません、あるいはボタンのハンドルを取得すればできるかも?

試してみたら、できるようです。

メッセージボックスのウィンドウのハンドルを取得して、その子ウインドウ
(いいえのボタン)を取得する

下記のような感じでできるかと。

    'キャプション名を与えてウインドウのハンドルを取得
    hTargetWindow = FindWindowEx(0, 0, vbNullString, "メッセージボックスのタイトル")
    'クラス名を与えてハンドルを取得する場合
    'hTargetWindow = FindWindowEx(0, 0, "Scicalc", vbNullString)
    If hTargetWindow = 0 Then Exit Sub
    '子ウインドウのハンドルを取得(8のボタン)
    hChildWindow = FindWindowEx(hTargetWindow, 0, vbNullString, "いいえ")
    If hChildWindow = 0 Then Exit Sub
    '子ウインドウをアクティブにする
    lngResult = SendMessage(hChildWindow, WM_ACTIVATE, 1, ByVal 0&)
    '子ウインドウをクリックする
    lngResult = SendMessage(hChildWindow, BM_CLICK, 0, ByVal 0&)


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -