C
#include <ScreenCapture.au3>
#include <misc.au3>
#RequireAdmin
Global $pos
getpos()
Func GetPos()
While 1
If _IsPressed("01") Then
_ScreenCapture_Capture("VzB\Bilder\held1.png", MouseGetPos(0)-12, MouseGetPos(1)-32, MouseGetPos(0) + 10, MouseGetPos(1) + 30, False)
ExitLoop
EndIf
WEnd
ShellExecute("VzB\Bilder\held1.png")
ProcessClose("DrawingMaus.exe")
EndFunc
Alles anzeigen
Kombiniert mit ein weiteren code als extra exe:
C
#include <WinAPI.au3>
#include <APIConstants.au3>
#include <WindowsConstants.au3>
#include <GUIConstants.au3>
#RequireAdmin
Global $hWin = _GUI_Transparent_Client(-1, -1, -1, -1, 5, 0x00ff00)
Global $aPos = WinGetPos($hWin)
Do
Sleep(10)
$aMouse = MouseGetPos()
WinMove($hWin, "", $aMouse[0] - $aPos[2] / 2, $aMouse[1] - $aPos[3] / 2)
Until GUIGetMsg() = $GUI_EVENT_CLOSE
Func _GUI_Transparent_Client($iX, $iY, $iWidth, $iHeight, $iFrameWidth = 10, $iColor = 0)
$hGUI = GUICreate("", 25, 65, $iWidth, $iHeight, $WS_POPUP, $WS_EX_TOPMOST);hier kannst die größe einstellen
$aPos = WinGetPos($hGUI)
_GuiHole($hGUI, 1, 1, $aPos[2] - 2 * 1, $aPos[3] - 2 * 1, $aPos[2], $aPos[3]);_GuiHole($hGUI, 1, 1, $aPos[2] - 2 * 1, $aPos[3] - 2 * 1, $aPos[2], $aPos[3]) Überall wo die 1 ist kannst du die dickheit ändern
GUISetBkColor($iColor)
GUISetState()
Return $hGUI
EndFunc ;==>_GUI_Transparent_Client
Func _GuiHole($h_win, $i_x, $i_y, $i_sizew, $i_sizeh, $width, $height)
Local $outer_rgn, $inner_rgn, $combined_rgn
$outer_rgn = _WinAPI_CreateRectRgn(0, 0, $width, $height)
$inner_rgn = _WinAPI_CreateRectRgn($i_x, $i_y, $i_x + $i_sizew, $i_y + $i_sizeh)
$combined_rgn = _WinAPI_CreateRectRgn(0, 0, 0, 0)
_WinAPI_CombineRgn($combined_rgn, $outer_rgn, $inner_rgn, $RGN_DIFF)
_WinAPI_DeleteObject($outer_rgn)
_WinAPI_DeleteObject($inner_rgn)
_WinAPI_SetWindowRgn($h_win, $combined_rgn)
EndFunc ;==>_GuiHole
Alles anzeigen
so weiß man so man seinen screen macht ganz genau :3
in dem fall sehr klein weil ich es halt klein brauch.
Danke da nochmal an UEZ
den screencapture code hab ich irgendwo von ihn gefunden!