; Authenticity
; http://www.autoitscript.com/forum/index.php?showtopic=106021
#include <GDIP.au3>
#include <GUIConstantsEx.au3>
#include <ScreenCapture.au3>

_Example()

Func _Example()
	Local $hGUI, $hGraphics, $hBmp, $hBitmap, $hCachedBitmap

	; Инициализирует библиотеку GDI+
	_GDIPlus_Startup()

	; Создаёт GUI (нажмите ESC для выхода)
	$hGUI = GUICreate("Создаёт кэшированный bitmap", @DesktopWidth / 2, @DesktopHeight / 2)

	; Создаёт графический объект из дескриптора окна
	$hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)

	; Делает снимок левой верхней части экрана
	$hBmp = _ScreenCapture_Capture("", 0, 0, @DesktopWidth / 2, @DesktopHeight / 2, False)

	; Создаёт объект GDI+ Bitmap из объекта GDI Bitmap
	$hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($hBmp)

	; Создаёт кэшированный bitmap из существующего bitmap и graphics объектов
	$hCachedBitmap = _GDIPlus_CachedBitmapCreate($hBitmap, $hGraphics)

	GUISetState()
	; Теперь рисует кэшированный bitmap
	_GDIPlus_GraphicsDrawCachedBitmap($hGraphics, $hCachedBitmap, 0, 0)

	Do
	Until GUIGetMsg() = $GUI_EVENT_CLOSE

	; Освобождает ресурсы
	_GDIPlus_CachedBitmapDispose($hCachedBitmap)
	_GDIPlus_ImageDispose($hBitmap)
	_WinAPI_DeleteObject($hBmp)
	_GDIPlus_GraphicsDispose($hGraphics)

	; Закрывает библиотеку GDI+
	_GDIPlus_Shutdown()
EndFunc   ;==>_Example