Hier könnt ihr Tools oder Programme reinstellen, die keinen sinn haben, aber von denen man etwas lernen kann.
Ich habe aus Langeweile ein bisschen mit Regionen rumgespielt. Dabei ist folgendes rausgekommen:
TrollGUI
Eine nicht anklickbare GUI.
[autoit]Global $hGUI, $aPos, $aRegion1, $aRegion2
[/autoit] [autoit][/autoit] [autoit]$hGUI = GUICreate('TrollGUI', 600, 400)
GUISetState(@SW_SHOW, $hGUI)
While GUIGetMsg() <> -3
$aPos = GUIGetCursorInfo($hGUI)
$aRegion1 = DllCall('gdi32.dll', 'handle', 'CreateRectRgn', 'int', 0, 'int', 0, 'int', 640, 'int', 480)
$aRegion2 = DllCall('gdi32.dll', 'handle', 'CreateEllipticRgn', 'int', $aPos[0] - 17, 'int', $aPos[1] + 5, 'int', $aPos[0] + 23, 'int', $aPos[1] + 45)
DllCall('gdi32.dll', 'int', 'CombineRgn', 'handle', $aRegion1[0], 'handle', $aRegion1[0], 'handle', $aRegion2[0], 'int', 3)
DllCall('user32.dll', 'int', 'SetWindowRgn', 'hwnd', $hGUI, 'handle', $aRegion1[0], 'bool', True)
DllCall('gdi32.dll', 'bool', 'DeleteObject', 'handle', $aRegion1[0])
DllCall('gdi32.dll', 'bool', 'DeleteObject', 'handle', $aRegion2[0])
Sleep(10)
WEnd
Trollmode
Wie bei der TrollGUI nur generell bein Windows.
Wird mit Home bzw. Pos1 beendet.
Benutzung auf eigene Gefahr!
Global $hWnd, $aPos1, $aPos2, $aRegion1, $aRegion2
[/autoit] [autoit][/autoit] [autoit]HotKeySet('{HOME}', '_Exit')
ToolTip('Drücken sie HOME bzw. Pos1 um' & @CRLF & ' den trollmode zu verlassen.', 0, 0, 'TrollMode')
While Sleep(10)
$hWnd = WinGetHandle('')
$aPos1 = MouseGetPos()
$aPos2 = WinGetPos($hWnd)
If @error Then ContinueLoop
$aRegion1 = DllCall('gdi32.dll', 'handle', 'CreateRectRgn', 'int', 0, 'int', 0, 'int', @DesktopWidth, 'int', @DesktopHeight)
$aRegion2 = DllCall('gdi32.dll', 'handle', 'CreateEllipticRgn', 'int', $aPos1[0] - $aPos2[0] - 20, 'int', $aPos1[1] - $aPos2[1] - 20, 'int', $aPos1[0] - $aPos2[0] + 20, 'int', $aPos1[1] - $aPos2[1] + 20)
DllCall('gdi32.dll', 'int', 'CombineRgn', 'handle', $aRegion1[0], 'handle', $aRegion1[0], 'handle', $aRegion2[0], 'int', 3)
DllCall('user32.dll', 'int', 'SetWindowRgn', 'hwnd', $hWnd, 'handle', $aRegion1[0], 'bool', True)
DllCall('gdi32.dll', 'bool', 'DeleteObject', 'handle', $aRegion1[0])
DllCall('gdi32.dll', 'bool', 'DeleteObject', 'handle', $aRegion2[0])
WEnd
Func _Exit()
$hWnd = WinGetHandle('')
$aRegion1 = DllCall('gdi32.dll', 'handle', 'CreateRectRgn', 'int', 0, 'int', 0, 'int', @DesktopWidth, 'int', @DesktopHeight)
DllCall('user32.dll', 'int', 'SetWindowRgn', 'hwnd', $hWnd, 'handle', $aRegion1[0], 'bool', True)
Exit
EndFunc
PS: ich hoffe ich habe es im richtigen Bereicht gepostet.