それぞれの座標とは何でしょうか。
ginfoは調べましたか?
ginfo(0),ginfo(1)は、マウスの座標です。ですからそのコードは、WindowFromPointにマウスの座標を渡していることになるのです。
調べるのはマウスがボタンに載っているかどうかなので、ボタンが何個になろうと実はWindowFromPointの引数は変わりません。
WindowFromPointの返り値については調べましたか。MSDNには「関数が成功すると、指定した座標を含むウィンドウのハンドルが返ります。」と書いてあったのを見たと思います。
実はそもそも、Windowsにおいては、普段自分たちが「ウィンドウ」と読んでいるものばかりでなく、ボタンとかも全部ウィンドウの一種として扱われます。そして、それぞれのウィンドウを区別するためのIDのようなものがついています。それがウィンドウハンドルです。
つまりWindowFromPointの効果は、マウスの位置にあるウィンドウが何かを調べることだったのです。
もしマウスがボタンの上にあったらボタンのウィンドウハンドルが返ってきますから、あらかじめボタンのウィンドウハンドルを調べておいてそれと比べればいいのです。
あらかじめボタンのウィンドウハンドルを調べている部分は
hButton = objinfo(stat,2)
です。
では複数のボタンを調べるにはどうすればいいかというと、全部のボタンのウィンドウハンドルをあらかじめ調べておいて、WindowFromPointの返り値と一つ一つ比べればいいのです。