SendKeys.Send() 无反应主因是焦点不在目标窗口或运行于非交互式会话它仅向前台活动窗口发送WM_KEYDOWN/WM_KEYUP消息依赖UI线程不模拟硬件事件。SendKeys.Send() 为什么没反应多数情况下不是代码写错了而是当前焦点不在目标窗口、或者程序运行在非交互式会话比如 windows 服务、计划任务后台运行里。sendkeys.send() 只作用于前台活动窗口且依赖 ui 线程消息循环。它不模拟底层硬件事件只是向当前焦点控件发送 wm_keydown/wm_keyup 消息。确保调用前目标窗口已激活Process.MainWindowHandle SetForegroundWindow()需 P/Invoke避免在 Timer 或后台线程中直接调用——必须封送到 UI 线程Control.Invoke() 或 Dispatcher.Invoke()某些安全上下文如 UAC 提权后会隔离输入此时 SendKeys 被系统静默丢弃测试时别用记事本以外的程序起步——浏览器、IDE 等常拦截或重定义快捷键用 InputSimulator 实现可靠按键模拟InputSimulator来自 WindowsInput NuGet 包绕过焦点限制直接调用 SendInput() API能向任意窗口发键包括最小化或后台窗口。但它需要管理员权限才能对其他会话如锁屏时生效普通用户权限下仅对同会话有效。安装Install-Package WindowsInput基本用法new InputSimulator().Keyboard.KeyPress(VirtualKeyCode.RETURN)组合键注意顺序先 KeyDownCTRL再 KeyPressC最后 KeyUpCTRL否则可能被忽略中文输入法状态下KeyPress(a) 可能上屏成「啊」——应先切换到英文模式或用 TextEntry 模式配合 SendText()模拟按键时如何处理目标窗口句柄和焦点靠 FindWindow 或 EnumWindows 找窗口比“等几秒再 SendKeys”靠谱得多。但窗口标题易变、进程名不唯一得加多重校验。 稿定AI 拥有线稿上色优化、图片重绘、人物姿势检测、涂鸦完善等功能