
No.2ベストアンサー
- 回答日時:
> MessageBoxのOKボタンの座標を調べるAPI関数を教えてください。
残念ながら、それは簡単にはできません。
というのは、MessageBoxを実行すると、OKボタンなどをクリックしない限り、プログラム側に制御が戻ってこないからです。
スレッドを使って、プログラムの動作を2系統に分けて、MessagbeBoxで一方の動作が停止しても、他方が動作中の状態にする必要があります。その上で、メッセージのウィンドウを探してその中のOKボタンの位置を調べるといった方法になります。
簡単にしたいのであれば、MessageBoxが表示するウィンドウに似たウィンドウをプログラムから表示させるというものがあります。この場合、ウィンドウを表示しても制御はプログラム側にあるし、自分で表示させたウィンドウだから、OKボタンの位置も簡単にわかります。
詳しい説明ありがとうございます。
・・・
簡単にしたいのであれば、MessageBoxが表示するウィンドウに似たウィンドウをプログラムから表示させるというものがあります。この場合、ウィンドウを表示しても制御はプログラム側
・・・
簡単な手段で表示させようと思いシステムで表示させているところに問題があるようです。
MessageBoxだけの表示であれば、Windowsの設定で既定の位置にカーソルがきますが、ブラウザーの上だと無効のようです。
ダイアログボックスを使う必要がありそうです。
No.3
- 回答日時:
>Win32です、ついでにMessageBoxのOKボタンの座標を調べるAPI関数を教えてください。
MessageBoxのHWNDを取得して、GetDlgItem()辺りでOKボタンのHWNDが取得できるでしょう。
で、OKボタンのHWNDからGetWindowRect()でスクリーン座標とれるんじゃないですかね。
むしろ、問題はど~やってMessageBox()のHWNDを取得するか…ってところかと思いますが。
# MessageBox()のコール元で取れば楽勝じゃん♪ なんてのはちょっと。
フックかなにか仕込めば取れるかとは思いますが。
# 具体的には調べてない。
マウスドライバなんかで、「デフォルトプッシュボタンの上にカーソルを移動させる」なんて機能があったりしますが…私は使っていないですねぇ。
シングルタスク(というかアプリ1つだけ)で動かしているのなら便利ですが…
ブラウザ開いて調べ物しながらコード書いていたり、他のウィンドウでなんか編集していたり…とかしているときにマウスクリック使用とした瞬間にカーソルが移動。
なんかウィンドゥ出たけど内容確認する前にボタン押してしまって…
「さっきのなんだ!?」とか言うことがあったり……。
# ブラウザのリンククリックしようとしていたら裏で動いていたアプリがメッセージボックス表示して…とかね。
丁寧な回答ありがとうございます。
・・・
# MessageBox()のコール元で取れば楽勝じゃん♪ なんてのはちょっと。
フックかなにか仕込めば取れるかとは思いますが。
・・・
確かに、APIでは対応できないと思います。
・・・
シングルタスク(というかアプリ1つだけ)で動かしているのなら便利ですが…
ブラウザ開いて調べ物しながらコード書いていたり、他のウィンドウでなんか編集していたり…とかしているときにマウスクリック使用とした瞬間にカーソルが移動。
・・・
実はホームページをみながらMessageBoxを表示させているため、Windowsの設定で既定の位置にマウスカーソルを移動させる設定にしているのですが、このためにMessageBoxの上にカーソルがこなかったのですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VB.net でトグルボタンを実現し...
-
Access VBA でデータペーストを...
-
アイコンとボタンの違い
-
Vba コマンドボタンイベントの...
-
Excel VBA Application.caller...
-
Excel マクロ 閉じるボタン
-
コマンドボタンやイメージにマ...
-
VBで電話プログラム作成
-
テキストボックスの中身消去
-
VBA(エクセル)で自動的にボタン...
-
C#でSendInputを使ったサンプル...
-
VBでのエラー音の消し方
-
ユーザーフォームに別シートか...
-
タイマーでアラームを作りたい
-
+ボタンの名称は?
-
VBA CommandButtonの文字ずれ
-
閉じると「+」になり開くと「-...
-
VB2010 クリック数カウント
-
php ラジオボタン
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
Excel VBA Application.caller...
-
VBA CommandButtonの文字ずれ
-
[VB.net] ボタン(Flat)のEnable...
-
コマンドボタンやイメージにマ...
-
VBAのボタンの位置が変わって困...
-
VB.net でトグルボタンを実現し...
-
フォームの再読み込み
-
閉じると「+」になり開くと「-...
-
アイコンとボタンの違い
-
ボタン
-
Access VBA でデータペーストを...
-
セルをマクロのボタンにしたい。
-
C#プログラムで、ボタンをショ...
-
ユーザーフォームに別シートか...
-
Excel マクロ 閉じるボタン
-
VBAで多数のプログラムを一つの...
-
ボタンをマウスで押し続けたと...
-
ASP.Net ラベルの内容をすぐに...
おすすめ情報