Find another programs 'buttons', - HELP!

I am writing a program to control another program that does not support
DDE.  I have figured out everything but one part.

I need to be able to tell when a button on the 2nd applications is visible.
 Is there an API call to find this info out?

I know that WinSight will tell you every button that is created and whether
or not it is visible, but how can I do a similar thing in my program?  I
would imagine it would be much like the FindWindow API but obviously more
in depth.

Thanks much,

Jeff Halvorson