動作をしているのに無反応

解決


与作  2007-08-28 03:32:20  No: 143850

Dim hWnd1, hWnd2 As Long
        
hWnd1 = FindWindow(vbNullString, "アプリ")
hWnd2 = GetDlgItem(hWnd1, 1002)
Call SendMessage(hWnd2, WM_LBUTTONUP, 0, 0)
Call SendMessage(hWnd2, WM_LBUTTONUP, 0, 0

この方法でボタンを押しているのですが、
ボタンが押される動作はしてるみたいです。
ハンドルも取得できています。
ですが肝心の実行をしません。
ためしに自分でマウス操作でクリックすると
動作するみたいです。
こういう場合はどうしたらよろしいのでしょうか?


魔界の仮面弁士  2007-08-28 03:42:26  No: 143851

> Dim hWnd1, hWnd2 As Long
As IntPtr にすべきかと。

> ですが肝心の実行をしません。
マウスの DOWN を行ってから、同じ座標で UP させてみては如何でしょう。

もしくは、hWnd から IAccessible インターフェイスを得て、
accDoDefaultAction メソッドを呼び出すようにするとか。


与作  2007-08-28 03:47:58  No: 143852

魔界の仮面弁士さん
sendではなくpostにしてやればなぜか解決しました。
ありがとうございました。


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

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






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