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


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0529
PDウィンドウサイズ取得&変更2未解決


PD

リンク

2013/5/29(Wed) 22:21:54|NO.54412

GetForegroundWindow
hnd = stat
a = ""
z = 128
GetWindowText hnd, varptr(a), z

#include "user32.as"
if ( a == "○○" ) {  ///○○がタスク上にあるウィンドウの名前
wait 50
nWidth = 800
nHeight = 600
FindWindow "Afx:00400000:b",0 : hwnd_schat=stat ///
dim rect, 4
GetWindowRect hwnd_schat, varptr(rect)
MoveWindow hwnd_schat, rect(0), rect(1), nWidth, nHeight, 1
}



これは、指定したウィンドウが開いて、アクティブになっているときに
nWidth = 800
nHeight = 600
のサイズに変更するソースなんです。



が、、これとは別に開いてるウィンドウが

X軸 900
Y軸 700 
といったウィンドウが開かれているとして

もし、そのウィンドウが

X軸 900
Y軸 700 

であるなら、

nWidth = 800
nHeight = 600


に変更。といった感じに作りたいのですが
改良するには、そのように組んだらよいでしょう?

(別にタスク上、アクティブ、ウィンドウ指定、、などは
なくてもいいので、開いてるウィンドウサイズが、( 700..900..(*これを基準) )であったなら
変更。と言う形で。)


説明が下手かもしれませんが お願いします(*;ω人)



この記事に返信する


test

リンク

2013/5/29(Wed) 22:33:06|NO.54413

PDさんの実力(そのコードを書くだけの知識)があれば、そのような動作をさせるのは難しくありません。
次のような手順で可能です。

1.判定したいウィンドウを探す
2.そのサイズが900x700かどうか調べる
3.そのウィンドウのサイズを800x600に変更する



ht.

リンク

2013/5/30(Thu) 20:33:13|NO.54437

GetWindowRect関数が読み書きするRECT構造体(配列変数)には、
boxf命令などと同じように左上から右下まで時計回りに4つの座標が格納されています。
つまりrect(2)-rect(0)でウインドウの横幅が計算できます。



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