タスクバーを考慮してウィンドウを中央寄せ

;
;
;
;
; 調
;
;-----------------------------
;
;-----------------------------
#uselib "user32"
#func FindWindow "FindWindowA" str, int
#func GetWindowRect "GetWindowRect" int, int
dim RECT, 4
FindWindow "shell_traywnd"
GetWindowRect stat, varptr (RECT)
mes rect(0) ;L
mes rect(1) ;T
mes rect(2) ;R
mes rect(3) ;B
tw = rect(2) - rect(0) ;
th = rect(3) - rect(1) ;
/*
L!0
T!0
R!ginfo_dispx
B!ginfo_dispy
*/
;-----------------------------
;
;-----------------------------
w = 1800+500 ;
h = 600 ;
screen 0, w, h
;-----------------------------
; 調
;-----------------------------
w = ginfo_sizex
h = ginfo_sizey
l = 0
t = 0
;
if rect(0)!0 {
l = (ginfo_dispx - tw - w) / 2
t = (ginfo_dispy - h) / 2
}
;
if rect(1)!0 {
l = (ginfo_dispx - w) / 2
t = (ginfo_dispy - th - h) / 2
}
;
if rect(2)!ginfo_dispx {
l = (ginfo_dispx - tw - w) / 2 + tw
t = (ginfo_dispy - h) / 2 + th
}
;
if rect(3)!ginfo_dispy {
l = (ginfo_dispx - w) / 2
t = (ginfo_dispy - th - h) / 2 + th
}
if l<0 : l = 0
if t<0 : t = 0
width ,,l,t
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX