Takes a bitmap snapshot of the screen and pastes it to the clipboard.
SnapShot (request#)
(i) request# see below.
(i) always 0.
Request |
Meaning |
0 |
Take snapshot of entire screen |
1 |
Take snapshot of client area of parent window of active window |
2 |
Take snapshot of entire area of parent window of active window |
3 |
Take snapshot of client area of active window |
4 |
Take snapshot of entire area of active window |
5 |
Take snapshot of entire virtual screen (Windows 98+) On versions of Windows, that do not support virtual screens, this will be treated the same as request 0. |
This function supports multi-monitor systems
;Takes a bitmap snapshot of the screen and pastes it to the clipboard. Snapshot(0) ;returns the size of buffer needed for a subsequent BinaryAlloc, ;but doesn't attempt to place the contents of clipboard into a buffer size=BinaryClipGet(0,8) ;allocates a data buffer bb=BinaryAlloc(size) ;read file format type CF_DIB BinaryClipGet(bb,8) ; need to add first 14 bytes to make it ; a BMP file format bmpdatasize=14 bb2=BinaryAlloc(size + bmpdatasize) ;The characters identifying the bitmap.'BM' BinaryPokeStr(bb2, 0, "BM") ;Complete file size in bytes. BinaryPoke4(bb2,2,size + bmpdatasize) ;Reserved BinaryPoke4(bb2,6,0) ;Data offset headersize=BinaryPeek4(bb,0) dataoffset = headersize + bmpdatasize BinaryPoke4(bb2,10,dataoffset) BinaryCopy(bb2,bmpdatasize,bb,0,size) BinaryWrite(bb2,"c:\temp\screenshot.bmp") BinaryFree(bb) BinaryFree(bb2) Message("All","Done")