Basic Univers
repeat
...
clearscreen(...)
...
displaysprite(...)
...
flipbuffers(...)
if keyboardreleased(#PB_Key_S)
snap + 1
snapid = grabsprite(#pb_any, 0, 0, ..., ...)
savesprite(snapid, "snap_" + str(snap)+".bmp")
freesprite(snapid)
endif
...
until ...
#CAPTUREBLT = $40000000
Procedure SetWinTransparency(WinHandle.l, Transparency_Level.l)
If OpenLibrary(0, "user32.dll")
CallFunction(0, "SetLayeredWindowAttributes", WinHandle, 0, Transparency_Level, 2)
CloseLibrary(0)
EndIf
EndProcedure
If OpenWindow(0, 0, 0, 300, 300, #PB_Window_ScreenCentered | #PB_Window_SystemMenu, "Plein écran")
SetWindowLong_(WindowID(), #GWL_EXSTYLE, GetWindowLong_(WindowID(), #GWL_EXSTYLE) | $00080000)
SetWinTransparency(WindowID(), 180)
Repeat
Event = WaitWindowEvent()
Until Event = #WM_CLOSE
EndIf
Ecran_Largeur = GetSystemMetrics_(#SM_CXSCREEN)
Ecran_Hauteur = GetSystemMetrics_(#SM_CYSCREEN)
DC = GetDC_(0)
CreateImage(0, Ecran_Largeur, Ecran_Hauteur)
Dessin = StartDrawing(ImageOutput())
BitBlt_(Dessin, 0, 0, Ecran_Largeur, Ecran_Hauteur, DC, 0, 0, #SRCPAINT|#CAPTUREBLT)
StopDrawing()
ReleaseDC_(0, DC)
SaveImage(0, "Copie d'écran.bmp")
Delay(2000)
#######################