ウィンドウハンドルの座標を調べることはできますか?VB6環境です

このQ&Aのポイント
  • 様々なブラウザに対してフォーカスさせずにクリック操作をさせたいと考えています。
  • ブラウザの位置がどこにあろうとクリックさせたいのですが、ゲットしたウィンドウハンドルをもつオブジェクトの原点座標を原点として指定するため、ブラウザを一番左上に持ってこないと動作してくれません。
  • 「任意のブラウザの中のコンテンツを表示する領域(このウィンドウハンドルはゲットできました)の原点座標をVB6にて取得したい」ということです。
回答を見る
  • ベストアンサー

ウィンドウハンドルの座標を調べることはできますか?

VB6環境です 様々なブラウザに対してフォーカスさせずにクリック操作をさせたいと考えています 現在、一応それは完成しました しかし、ブラウザを画面左上に置いた(top座標=0、left座標=0)場合です ブラウザの位置がどこにあろうとクリックさせたいのですが、クリック座標の指定が ゲットしたウィンドウハンドルをもつオブジェクトの原点座標を原点として指定するため、 ブラウザを一番左上に持ってこないと動作してくれません わかりにくい説明ですが、知りたいことは  「任意のブラウザの中のコンテンツを表示する領域(このウィンドウハンドルはゲットできました)の   原点座標をVB6にて取得したい」 ということです よろしくお願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • uruz
  • ベストアンサー率49% (417/840)
回答No.1

Win32 Api関数の GetWindowRect で取得できます。 http://homepage1.nifty.com/MADIA/vb/API/GetWindowRect.htm

oshioSense
質問者

お礼

稚拙な質問を理解してくださり、更に迅速かつ完璧な回答! ありがとうございます! すべてうまく行きました!

関連するQ&A

  • MDIプログラムで子ウィンドウの相対座標を得るには?

    VC++6.0でMDIプログラムを作っています。 Viewクラスでマウスの右ダブルクリックのメッセージを受け取って、 その関数の中で毎回、アクティブな子ウィンドウの左上の相対座標、 つまり、クライアント領域での子ウィンドウの左上の座標を知りたいのですが、 どのようにすれば得られるか分かりません。分かる方教えてください。

  • X11に関して質問です。ウィンドウの座標の指定。

    親ウィンドウにルートウィンドウを指定した場合は、 ウィンドウ位置の指定はできないのですか? 位置を指定しても反映されません。 w1 = XCreateSimpleWindow(display, DefaultRootWindow(display), 100, 100, /* ウィンドウ左上座標 */ 300, 300, 1, RGB(display, 0, 0, 0), RGB(display, 255, 0, 255));

  • 親ウインドウのウインドウハンドルの必要性について

    お願いします。 WIN98 VC++6.0 SDKにて ウインドウをクリックするとダイアログボックスが表示されるサンプルプログラムがあります。 MessageBox(hWnd, s, "ダブルクリック", MB_OK);の第1引数には親ウインドウのウインドウハンドルを指定するとありましたが、NULLに変えても問題無く動きました。 第1引数はなんでも良いのでしょうか? また、必ず親ウインドウのウインドウハンドルを指定しなければならない時はどのような場合でしょうか? よろしくお願いします。

  • 【VB6】指定したハンドルのウィンドウがフォルダかどうか

    WinXP Pro × VB6 指定したハンドルのウィンドウがフォルダ(explorer.exe)かどうかを調べる方法がわかりません。 どなたか教えてください。

  • 座標上のある点が、ある3つの座標点で結んだ三角形の領域内にあるか調べる

    座標上のある点が、ある3つの座標点で結んだ三角形の領域内にあるか調べる方法。 座標上に3つの点(x1,y1)(x2,y2)(x3,y3)で結ばれた三角形があります。 ある点(px,py)が、この三角形の内側の領域に存在するかどうかを知りたいのですが、 数学のなんという分野で、どういう求め方をするのかがわかりません。 どなたかお力添えいただければ幸いです。 関係ないかもしれませんが、左上を0,0とし、右下はn1,n2の、 Windowsペイントのようなマイナスを考慮しない座標になっています。 線上を内側とするか、外側とするかはどちらでもかまいません。 どなたかお詳しい方、お暇なときにでもご回答よろしくお願いします。

  • 「FindWindow」、ウィンドウハンドルについて

    知恵を貸してください。 VB6.0にて作業しています。 コモンダイアログからExcelファイルを指定して開く際、 現在起動中のものを二重起動しないために「FindWindow」 を用いました。 最初は正常に動作したのですが、何度か操作しているうちに、 Excelを起動していない(ctrl+Alt+Delで確認し、何度も再起動しました)のに 起動中の処理(ハンドルを表示)をするようになってしまいました。 (1)ソースの正否 (2)ウィンドウハンドルからウィンドウを特定する方法  ハンドル(3409196)が表示されるため、この番号から  指定されたウィンドウを特定できれば  原因特定にいたるのではないかと考えました。 についてアドバイスいただけないでしょうか? 以下にコードを記述します。 *モジュール側の記述は省略しました。 Private Sub Command1_Click() Dim hwindow As Long Dim Fname As String Dim XLSApp As Object (前述分省略) cdl.ShowOpen Fname = cdl.FileName   hwindow = FindWindow("XLMAIN", vbNullString) If hwindow = 0 Then Set XLSApp = GetObject(Fname)    (以下指定ファイルを開く処理) Else   MsgBox hwindow  End If End Sub 以上です、よろしくお願いします。

  • Excelセル内の特定座標に画像を表示させたいのですが。

    Excelの指定したセルの、 (セル左上座標を基準に)座標を指定して GIFやBMPなどの画像を表示させたいのですが、 分からなくて困っています。 セル内での座標指定またはセル内でのセンタリングの方法が分かる方は居ないでしょうか? 今の時点では指定したセルの左上に表示されてしまいます。 ソースはこんな感じなのですが・・・ with sheet .Cells(2,3).Select img="c:\test.gif" .Pictures.Insert(img).Select .Selection.Left =50 end with

  • IE6.0でのオブジェクト座標の動的取得

    ホームページを作る際にJavaScriptでIE6.0でオブジェクトの座標を取得したいと思っています。以下のようにしてstyleでtop、leftを指定していない場合でも座標取得は可能でしょうか。センタリングを有効にしたいので、スタイル指定が出来ないのですが…。 例)以下のIMGタグの座標を取得したい <CENTER> <A href="www.aaa.com" onMouseOver="zahyou()"> <IMG src="aaa.gif" id="IMG1"> </A> </CENTER>

  • フォーカスを移さずに、クリックしたい

    VB6かUWSCにて、フォーカスを移さずにクリックさせる方法がありましたら教えてください。 ネットで拾ってくるクリックをしてくれるフリーソフト(例えばGlobalShortcutHelper)の中には、 クリックをした後にそのクリックされたプログラム(たとえばブラウザなど)に フォーカスが移らないものがあります。 そのようなプログラムを組む方法がありましたら教えてください。 擬似的に元のカーソル座標へ戻るようにプログラムしてみましたが プログラム間の切り替えが明らかに発生しており、望むような結果にはなりませんでした。

  • エクセル 図形の座標誤差

    エクセルで線をグループ化した図形とその図形内の左上の線の座標をselection.top selection.left で取得すると、それぞれで値が異なるときがあります。 また、グループ図形を指定の位置に指定しても(selection.top=100とか)100のところに来ないことがあります。 色々(debug.printを入れたり)していると直ったりします(想定通りの値になる)が、不安定みたいです。 原因と対策がわかれば教えてください。

専門家に質問してみよう