Code
Procedure PosWinInfo(Window) ; Эта процедура помещает выбранное окно над треем
If IsWindow(Window)>0 ; Окно с таким идентификаторм существует
TrayWnd = FindWindow_("Shell_TrayWnd", 0)
TrayNofifyWnd = FindWindowEx_(TrayWnd, 0, "TrayNotifyWnd", 0)
GetWindowRect_(TrayNofifyWnd,@win.RECT) ; Узнаём высоту трея
Win_x=GetSystemMetrics_(#SM_CXSCREEN)-WindowWidth(Window)-8
Win_y=GetSystemMetrics_(#SM_CYSCREEN)-(win\bottom-win\top)-WindowHeight(Window)-4
ResizeWindow(Window, Win_x, Win_y, #PB_Ignore, #PB_Ignore)
EndIf
EndProcedure
OpenWindow(1,0,0,200,100,"",#PB_Window_BorderLess|#PB_Window_Invisible)
PosWinInfo(1) ; Перемещаем окно над трей
SetWindowColor(1,RGB(254, 247, 207) )
TextGadget(1,20,30,180,16,"Всплывающее окно")
SetGadgetColor(1, #PB_Gadget_BackColor, RGB(254, 247, 207))
ButtonGadget(2,70,70,80,24,"Закрыть")
AnimateWindow_(WindowID(1), 800, #SW_SHOWNA)
Repeat
Event=WaitWindowEvent()
Gadget=EventGadget()
If Event=#PB_Event_Gadget
If Gadget=2 ; Клик по экраной кнопке
Break ; Прерываем главный цикл Repeat - ForEver
EndIf
EndIf
ForEver