>hspから別プロセスのウィンドウハンドル取得して
何をもとにウィンドウを探しましょうか。
プロセス名?ウィンドウタイトル?クラス?
ぷにぷにさんは例がほしいそうなので、一応書いてみました。
この例では、クラス名でウィンドウを検索。(メモ帳のクラス名は"Notepad"。)
#uselib "USER32.DLL"
#func MoveWindow "MoveWindow" int, int, int, int, int, int
#func GetWindowRect "GetWindowRect" int, int
#cfunc FindWindow "FindWindowA" sptr, sptr
nWidth = 200 ;MoveWindowのとき使う幅
nHeight = 500 ;MoveWindowのとき使う高さ
hwnd_note = FindWindow("Notepad", 0) ;ウィンドウクラス名が"Notepad"のhWndを代入
if(hwnd_note = 0) : dialog "Notepadが起動してないかも。" : stop
dim rect, 4
GetWindowRect hwnd_note, varptr(rect)
;位置を変更させないため、位置取得。RECT構造体がrectに代入される。
MoveWindow hwnd_note, rect(0), rect(1), nWidth/*幅*/, nHeight/*高さ*/, 1
stop
見にくくってすいません。基本的なのはこんなもんだと思います。
nWidth,nHeightが幅、高さです。
RECT構造体については
http://msdn.microsoft.com/ja-jp/library/a5ch4fda(v=vs.80).aspx
ウィンドウ検索にFindWindow、元の位置取得にGetWindowRectを使用。
FindWindowは複数ウィンドウがあってもそれを知ることはできません。(たぶん。)
FindWindowは子ウィンドウは全く探しません。