HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0808
HSP初心者デスクトップから見たアクティブウインドウのX、Yの位置取得方法4解決


HSP初心者

リンク

2010/8/8(Sun) 03:15:17|NO.34301

題名通りデスクトップから見たアクティブウインドウのX、Yの位置取得方法がわかりません。
APIによる GetForegroundWindow と GetClientRect でいけそうだと、ぐぐってわかりましたが、
いざソースを組み上げて実行すると、XとYの位置ではなくクライアントサイズしか返ってきません。
現在お手上げ状態です><

とりあえずソースは次の通りですが、やはりクライアントサイズです><
どなたかわかる方居たら教えていただければうれしいです。


#uselib "user32.dll" #func global GetForegroundWindow "GetForegroundWindow" #func global GetClientRect "GetClientRect" sptr,sptr screen 0,800,200 repeat getkey a,1 //クリックでチェック if a=1 { color 1: boxf : color 0,255 GetForegroundWindow//アクティブウインドウのハンドル hnd=stat dim r, 4 GetClientRect hnd, varptr(r) pos 20,20 mes "ウインドウハンドル ="+hnd mes r(2) mes r(3) } wait 1 loop



この記事に返信する


名無し

リンク

2010/8/8(Sun) 04:02:24|NO.34302

ginfo命令を使えばいいと思います。

*main redraw 0 color 255,255,255 : boxf xs=ginfo_wx1 : ys=ginfo_wy1 color 0,0,0 pos 0,0 mes "ウインドウの左上X座標;"+xs mes "ウインドウの左上Y座標;"+ys redraw 1 await 10 goto *main



HSP初心者

リンク

2010/8/8(Sun) 05:31:31|NO.34303

すみません><
説明不足でした。
HSPで作成したスクリーンではなく、たとえばインターネットエクスプローラーとか
HSP以外で作成されたウインドウのXとYの位置を取得したいのです。
説明不足ですみません><



p、USAGI

リンク

2010/8/8(Sun) 08:05:49|NO.34304

GetWindowRectを使うといいかも。(試してませんが...)
http://msdn.microsoft.com/ja-jp/library/cc364769.aspx



HSP初心者

リンク

2010/8/8(Sun) 09:59:03|NO.34305

ありがとうございます><
無事取得できました!
感謝!!



ONION software Copyright 1997-2023(c) All rights reserved.