#include <GUIConstantsEx.au3>
#include <GDIPlus.au3>
#include <ScreenCapture.au3>

_Main()

Func _Main()
	Local $hGUI, $hBMP, $hBitmap, $hGraphic, $hImage, $iX, $iY, $hClone

	; Создаёт GUI
	$hGUI = GUICreate("GDI+", 400, 300)
	GUISetState()

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

	; Capture 32 bit bitmap
	$hBMP = _ScreenCapture_Capture ("")
	$hImage = _GDIPlus_BitmapCreateFromHBITMAP ($hBMP)

	; Create 24 bit bitmap clone
	$iX = _GDIPlus_ImageGetWidth ($hImage)
	$iY = _GDIPlus_ImageGetHeight ($hImage)
	$hClone = _GDIPlus_BitmapCloneArea ($hImage, 0, 0, $iX, $iY, $GDIP_PXF24RGB)

	; Save bitmap to file
	_GDIPlus_ImageSaveToFile ($hClone, @MyDocumentsDir & "\GDIPlus_Image.bmp")

	; Очищает ресурсы
	_GDIPlus_BitmapDispose ($hClone)
	_GDIPlus_BitmapDispose($hImage)
	_WinAPI_DeleteObject ($hBMP)

	; Рисует bitmap в GUI
	$hBitmap = _GDIPlus_BitmapCreateFromFile (@MyDocumentsDir & "\GDIPlus_Image.bmp")
	$hGraphic = _GDIPlus_GraphicsCreateFromHWND ($hGUI)
	_GDIPlus_GraphicsDrawImage ($hGraphic, $hBitmap, 0, 0)

	; Очищает ресурсы
	_GDIPlus_GraphicsDispose ($hGraphic)
	_GDIPlus_BitmapDispose ($hBitmap)

	; Закрывает библиотеку GDI+
	_GDIPlus_ShutDown ()

	; Цикл выполняется, пока окно не будет закрыто
	Do
	Until GUIGetMsg() = $GUI_EVENT_CLOSE


EndFunc   ;==>_Main