import ctypes
import random
import time
user32 = ctypes.windll.user32
gdi32 = ctypes.windll.gdi32
SW = user32.GetSystemMetrics(0)
SH = user32.GetSystemMetrics(1)
hdc_screen = user32.GetDC(0)
hdc_mem = gdi32.CreateCompatibleDC(hdc_screen)
hbitmap = gdi32.CreateCompatibleBitmap(hdc_screen, SW, SH)
gdi32.SelectObject(hdc_mem, hbitmap)
while True:
if user32.GetAsyncKeyState(0x51) & 0x8000:
if user32.GetAsyncKeyState(0x11) & 0x8000:
if user32.GetAsyncKeyState(0x12) & 0x8000:
break
gdi32.BitBlt(
hdc_mem, 0, 0, SW, SH,
hdc_screen, 0, 0,
0x00CC0020
)
x = random.randrange(0, SW - 10, 10)
shift = random.choice([-10, 10])
gdi32.BitBlt(
hdc_screen,
x,
shift,
10,
SH - abs(shift),
hdc_mem,
x,
0 if shift > 0 else abs(shift),
0x00CC0020
)
time.sleep(1)
user32.ReleaseDC(0, hdc_screen)
gdi32.DeleteObject(hbitmap)
gdi32.DeleteDC(hdc_mem)