import ctypes
import time

import win32con
import win32service

print("1. Attaching thread to 'Default' desktop...")
h_desk = win32service.OpenDesktop("Default", 0, False, win32con.GENERIC_ALL)
res = ctypes.windll.user32.SetThreadDesktop(int(h_desk))
print(f"SetThreadDesktop result: {res}")

import keyboard

triggered = [False]
def on_f9():
    print("[HOTKEY] F9 triggered on Default desktop!")
    triggered[0] = True

keyboard.add_hotkey('F9', on_f9)
print("2. Hotkey F9 registered. Simulating F9 press via user32...")

# Simulate F9 press via keybd_event on Default desktop
VK_F9 = 0x78
ctypes.windll.user32.keybd_event(VK_F9, 0, 0, 0)
time.sleep(0.05)
ctypes.windll.user32.keybd_event(VK_F9, 0, 2, 0)
time.sleep(0.2)

print(f"3. Triggered status: {triggered[0]}")
