import ctypes, time, sys
from ctypes import wintypes
import win32gui
from PIL import ImageGrab

user32 = ctypes.windll.user32
hdesk = user32.OpenInputDesktop(0, False, 0x01FF)
if hdesk:
    user32.SetThreadDesktop(hdesk)

hwnd = 0xD0CEC
if not win32gui.IsWindow(hwnd):
    print("HWND not found!")
    sys.exit(1)

win32gui.SetForegroundWindow(hwnd)
time.sleep(0.3)

WM_MOUSEMOVE = 0x0200
WM_LBUTTONDOWN = 0x0201
WM_LBUTTONUP = 0x0202
WM_LBUTTONDBLCLK = 0x0203
MK_LBUTTON = 0x0001

lp = (400 << 16) | 400

# Try double click
print("Sending double click...")
user32.PostMessageW(hwnd, WM_MOUSEMOVE, 0, lp)
time.sleep(0.05)
user32.PostMessageW(hwnd, WM_LBUTTONDOWN, MK_LBUTTON, lp)
time.sleep(0.05)
user32.PostMessageW(hwnd, WM_LBUTTONUP, 0, lp)
time.sleep(0.05)
user32.PostMessageW(hwnd, WM_LBUTTONDBLCLK, MK_LBUTTON, lp)
time.sleep(0.05)
user32.PostMessageW(hwnd, WM_LBUTTONUP, 0, lp)

time.sleep(2.0)

rect = win32gui.GetWindowRect(hwnd)
img = ImageGrab.grab(bbox=rect)
img.save(r"C:\Projects\JX\logs\game_after_dblclick.png")
print("Saved dblclick test")
