Code: Select all
OpenWindow(0,30,30,440,330,"Underpointer Inspector", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget) : StickyWindow(0, 1)
FrameGadget(20, 10, 50, 400, 110, "Under pointer")
TextGadget(2,30,70 ,300,24,"")
TextGadget(9,30,100,300,24,"")
TextGadget(4,30,130,300,24,"")
TextGadget(5,30,190,300,24,"")
TextGadget(6,30,220,300,24,"")
TextGadget(7,30,250,300,24,"")
AddWindowTimer(0, 1, 70)
Repeat
Event = WaitWindowEvent()
If event = #PB_Event_Timer
Classname$ = Space(#MAX_PATH)
parentHandleClassname$ = Space(#MAX_PATH)
GparentHandleClassname$ = Space(#MAX_PATH)
Textname$ = Space(#MAX_PATH)
desktop_x = DesktopMouseX()
desktop_y = DesktopMouseY()
GetCursorPos_ (@p.POINT)
handle = WindowFromPoint_( p\y<< 32 + p\x )
ScreenToClient_ (handle, p\y<< 32 + p\x )
childhandle = ChildWindowFromPoint_(handle, p\y<< 32 + p\x)
Debug "H/C " + handle + " - " + childhandle
parentHandle = GetParent_(handle)
SendMessage_(handle,#WM_GETTEXT,128,@Textname$)
GetClassName_(handle, @Classname$, #MAX_PATH-1)
GetClassName_( parentHandle, @parentHandleClassname$, #MAX_PATH-1)
SetGadgetText(2,"Handle & Class = " + handle + " --- " + Classname$)
SetGadgetText(4,"Caption = " + Textname$)
SetGadgetText(5,"Parent = " + parentHandle + " --- " + parentHandleClassname$)
EndIf
Until Event = #PB_Event_CloseWindow