The About box as programmed is modal - nothing else in the program is clickable, including the other windows, while this is on the screen. Other programs are accessible. Sure, the About box does have a handle, but it is hidden from you, because you have not provided a variable for it to be given to you. Actually, other things have handles (Windows handles that is) including the OK button. Again, you don't need to know those handles, and you haven't any way of accessing them.
Now with the way that the About box is shown, the only way to shut it is with the Close box (red cross, top right on the caption bar) OR the OK button. If you press the red cross, WINIO@ returns 0, if you press the button, WINIO@ returns 1. In neither case do you care about these values: the About box (window) will just disappear, and you will return control to the window it was called from. Sometimes you are concerned how the user exited the Window, and you can test the value returned (it is in the variable IA (say) as in
IA = WINIO@ (' format codes ')
for the last WINIO@ call in the sequence.
If you want to have the (windows) handle to a window, then use %hw to give it to you, and provide an integer to hold it - the handle is an integer. If you want the (windows) handle for the OK button, then use %lc to send it to you, and again provide an integer to hold it.
If you used 16-bit Windows, you will remember the 'shortage of resources' messages. This was because the total number of unique 16-bit numbers available for handles was small. In 32-bit windows the total number is large.
If you repeatedly open and close the About box, Windows will generate and discard handles for it (and for the OK button). Each time, it is possible the numbers (handle values) are different.
These handles are Windows handles. For this use, you do not need to know what any of the handles are.
If you want to give the About box a life of its own, then use %lw (leave window) and provide an integer variable to control the window. THis is NOT a handle. However, if you change the value of the variable, then you can force the Window to close. This does mean that the particular variable needs to be in COMMON (etc) so that you can change its value when you want to shut the Window.
Note that although the buttons can have callbacks, the Close box cannot have a callback defined through WINIO@. A callback allows you to keep the window open after a button has been pressed, or close it after the callback code has been executed. The only way to do something similar for the Close box is to have a %cc code (which ALWAYS has its own callback) - or use %`cc which is similar but subtly different.
Eddie