【已解决】我想让Python直接输出文本到插入点,结果诡异

简单来说,就是想用Python实现AHK的SendRaw命令的功能,也就是不模拟键盘,不经剪贴板,直接将Unicode字符输出到任意插入点
——
问了AI n多次,结果都不行,pyautogui.write 不能写中文等非英文字符,有些要求识别插入点控件的又没法普适使用,用Win API的又没效果(没输出任何东西)……折腾了好久
——
这期间使用的是 Notepad2 等记事本衍生品来试验,试得都要红温了,索性把插入点放到Vscode,一试……居然行了,什么鬼事情?
——
所用的Python代码如下:

import win32gui
import win32api
import win32con
import time

def send_raw(text, hwnd=None):
    """
    向目标窗口发送原始字符串(类似 AHK 的 SendRaw)
    
    :param text: 要发送的字符串(支持中文、特殊符号)
    :param hwnd: 目标窗口句柄(若为 None,则发送到当前焦点窗口)
    """
    if hwnd is None:
        hwnd = win32gui.GetForegroundWindow()  # 获取当前焦点窗口
    
    for char in text:
        print(char)
        # 发送 WM_CHAR 消息(支持 Unicode)
        win32api.SendMessage(hwnd, win32con.WM_CHAR, ord(char), 0)
        time.sleep(0.01)  # 避免输入过快导致丢字

time.sleep(3)
send_raw("输入字符txt测试¥☆")

——
目前测试能够成功输入的目标程序有:vscode,各聊天软件,各浏览器,Everything Toolbar;
测试不能输入的目标程序有:记事本及其各种衍生mod,explorer,Process Explorer,Everything,WPS,MS Office
——
最后,跪求了,怎么让Python完美实现AHK的SendRaw功能?

一般来说, 这玩意是和api相关的吧, 记得不同GUI软件的技术实现其实是不一样的, 可能要找一些封装了比较多功能的接口;或者用某种其他的方式吧;

但我没有做过pythonUI相关的库, 只是之前被输入法折磨过, 不少GUI程序输入法窗口位置就是没法识别

后来在 FittenCode 不断追问得到新的方案:

import win32gui
from pynput.keyboard import Controller, Key
import time

# 创建键盘控制器
keyboard = Controller()

# 直接发送字符
def send_raw(text, win=None):
    if win:
        win32gui.SetForegroundWindow(win)
    for char in text:
        keyboard.press(char)
        keyboard.release(char)

time.sleep(2)
send_raw("输入字符txt测试¥☆")

——
现在就差能够无视输入法状态直接进行输出的方法了……
——
果然牛人是逼出来,AI正确的回答也得追问出来——
可以无视输入法直接输出任何字符的代码:

from pywinauto.keyboard import send_keys
import time

def send_raw(text):
    # 发送文本
    send_keys(text, with_spaces=False, with_newlines=False)

time.sleep(2)
send_raw("输入字符txt测试¥☆")