Code: Select all
wx=100
wy=100
w=400
h=250
rect.Rect
win.Rect
dot.Point
CompilerIf Not(Defined(DwmSetWindowAttribute, #PB_Prototype))
Prototype.i DwmSetWindowAttribute(hWnd.i, dwAttribute.i, pvAttribute.i, cbAttribute.i)
CompilerEndIf
If w>0 And h>0
sticky=1
OpenWindow(0,wx,wy,w,h,"",#PB_Window_Invisible|#PB_Window_SystemMenu)
GetWindowRect_(WindowID(0),win)
CloseWindow(0)
OpenWindow(0,wx,wy,w,h,"Screeny Light",#PB_Window_BorderLess|#PB_Window_Invisible)
GetWindowRect_(WindowID(0),rect)
zx=(win\right-rect\right)/2
zy=(win\bottom-rect\bottom-zx)
CanvasGadget(0,0,0,w,h);,#PB_Canvas_ClipMouse)
StickyWindow(0,sticky)
AddKeyboardShortcut(0,#PB_Shortcut_Space,999)
HideWindow(0,0)
Repeat
Select WaitWindowEvent(5)
Case #PB_Event_Gadget
Select EventType()
EndSelect
Case #PB_Event_Menu
If EventMenu()=999
title!1
;CloseWindow(0)
n=#PB_Window_Invisible
If title
n|#PB_Window_SystemMenu
Else
n|#PB_Window_BorderLess
EndIf
OpenWindow(0,wx-zx*title,wy-zy*title,w,h,"Screeny Light by Michael Vogel",n)
CanvasGadget(0,0,0,w,h);,#PB_Canvas_ClipMouse)
StickyWindow(0,sticky)
AddWindowTimer(0,0,250)
hDwmapi = OpenLibrary(#PB_Any, "dwmapi.dll")
If hDwmapi
DwmSetWindowAttribute_.DwmSetWindowAttribute = GetFunction(hDwmapi, "DwmSetWindowAttribute")
If DwmSetWindowAttribute_
#DWMWA_TRANSITIONS_FORCEDISABLED=3
attrib=1
DwmSetWindowAttribute_(WindowID(0),#DWMWA_TRANSITIONS_FORCEDISABLED,@attrib,SizeOf(attrib))
EndIf
EndIf
CloseLibrary(hDwmapi)
AddKeyboardShortcut(0,#PB_Shortcut_Space,999)
HideWindow(0,0)
EndIf
Case #PB_Event_CloseWindow
quit=1
EndSelect
Until quit
EndIf