Code : Tout sélectionner
#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
Global $WIDTH = 500, $HEIGHT = 500, $nMsg
Global $whiteColor = 0xFFFFFFFF
Global $WINDOWS = GUICreate("GRAPHIC", $WIDTH, $HEIGHT, -1, -1, 0x80000000)
GUISetState(@SW_SHOW)
_GDIPlus_Startup()
Global $GRAPHIC = _GDIPlus_GraphicsCreateFromHWND($WINDOWS)
Global $WHITE = _GDIPlus_BrushCreateSolid($whiteColor)
Global $ACTUAL_WHITE
For $ACTUAL_WHITE = 1 To $WIDTH Step 2
_GDIPlus_GraphicsFillRect($GRAPHIC, $ACTUAL_WHITE, 1, 1, 500, $WHITE)
Next
Global $ACTUAL_BLACK
For $ACTUAL_BLACK = 2 To $WIDTH - 1 Step 2
_GDIPlus_GraphicsFillRect($GRAPHIC, $ACTUAL_BLACK, 1, 1, 500)
Next
Global $BITMAP = _GDIPlus_BitmapCreateFromGraphics($WIDTH, $HEIGHT, $GRAPHIC)
_GDIPlus_ImageSaveToFile($BITMAP, @ScriptDir & "\IMG.bmp")
While 1
$nMsg = GUIGetMsg(1)
Switch $nMsg[0]
Case $GUI_EVENT_CLOSE
ExitLoop
EndSwitch
WEnd
_GDIPlus_BrushDispose($WHITE)
_GDIPlus_GraphicsDispose($GRAPHIC)
_GDIPlus_Shutdown()
Je me suis rendu compte qu'on pouvait screen une fenêtre avec _ScreenCapture_CaptureWnd et qu'on pouvait ignoré le curseur donc j'ai finalement trouvé une solution, voici le code
Code : Tout sélectionner
#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
#include <ScreenCapture.au3>
Global $WIDTH = 10, $HEIGHT = 10, $nMsg
Global $whiteColor = 0xFFFFFFFF
Global $WINDOWS = GUICreate("GRAPHIC", $WIDTH, $HEIGHT, -1, -1, 0x80000000)
GUISetState(@SW_SHOW)
_GDIPlus_Startup()
Global $GRAPHIC = _GDIPlus_GraphicsCreateFromHWND($WINDOWS)
Global $WHITE = _GDIPlus_BrushCreateSolid($whiteColor)
Global $ACTUAL_WHITE
For $ACTUAL_WHITE = 1 To $WIDTH Step 2
_GDIPlus_GraphicsFillRect($GRAPHIC, $ACTUAL_WHITE, 1, 1, 10, $WHITE)
Next
Global $ACTUAL_BLACK
For $ACTUAL_BLACK = 2 To $WIDTH - 1 Step 2
_GDIPlus_GraphicsFillRect($GRAPHIC, $ACTUAL_BLACK, 1, 1, 10)
Next
Global $BITMAP = _GDIPlus_BitmapCreateFromGraphics($WIDTH, $HEIGHT, $GRAPHIC)
Global $CAPTURE = _ScreenCapture_CaptureWnd(@ScriptDir & "\IMG.bmp", $WINDOWS, 1, 1, -1, -1, False)
_GDIPlus_ImageSaveToFile($CAPTURE, @ScriptDir & "\IMG.bmp")
While 1
$nMsg = GUIGetMsg(1)
Switch $nMsg[0]
Case $GUI_EVENT_CLOSE
ExitLoop
EndSwitch
WEnd
_GDIPlus_BrushDispose($WHITE)
_GDIPlus_GraphicsDispose($GRAPHIC)
_GDIPlus_Shutdown()