import ctypes
import os
import sys
import time

is_admin = ctypes.windll.shell32.IsUserAnAdmin()
print(f"IsUserAnAdmin in current process: {is_admin}")

if not is_admin:
    print("Not admin, re-launching with runas...")
    ret = ctypes.windll.shell32.ShellExecuteW(
        None,
        "runas",
        sys.executable,
        f'"{os.path.abspath(__file__)}" --child',
        None,
        1
    )
    print(f"ShellExecuteW returned: {ret}")
else:
    print("Running as Administrator!")
    with open("debug_harness/shellexec_success.txt", "w") as f:
        f.write("ELEVATED_OK")
