You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何实现向非聚焦窗口发送键鼠操作的自动点击器

后台无焦点自动点击/键鼠投递实现方案

首先明确:网上大部分开源自动点击器用的mouse_event、SendInput这类全局输入API都不满足你的需求——这类接口是往系统全局输入队列发事件,必须让目标窗口处于前台、持有焦点才能生效,你切到浏览器看YouTube时,点击会直接落到浏览器页面上,完全没法后台用。

可选技术路径

根据目标程序的输入实现逻辑,选对应方案即可:

  • 窗口消息投递方案:兼容性、稳定性最高的无焦点方案,针对所有用标准Windows消息队列处理输入的程序(包括大部分老游戏、窗口化运行的单机、网游),直接通过系统API给目标窗口句柄发鼠标、键盘消息即可,全程不需要把窗口切到前台,你在主屏幕操作浏览器看视频完全不受影响。注意:开全屏独占模式、用DirectInput/原始输入(Raw Input)直接读硬件输入的新3A游戏不认这类窗口消息,这个方案对这类程序无效
  • 驱动级输入注入方案:针对上述不认窗口消息的游戏,通过内核层输入驱动定向给指定窗口/进程投递输入事件,可以做到不抢占前台焦点,但是需要管理员权限运行,带内核反作弊的联机游戏会把这类操作判定为外挂,有封号风险。
  • 进程内输入调用方案:逆向分析目标游戏的输入处理逻辑,把代码注入到游戏进程内直接调用游戏自身的输入接口,兼容性最好,但是开发、逆向成本极高,不同游戏需要单独适配,反作弊检测风险最高,个人开发自用自动点击器完全没必要选这条路。

从零实现步骤(以最通用的窗口消息方案为例,新手可以先用Python快速验证,要性能换C#/C++即可)

  1. 锁定目标窗口
    不推荐靠窗口标题匹配找窗口,重名、标题动态变化的情况太多,两种靠谱方式:
    • 热键取句柄:做一个全局热键,触发时调用WindowFromPoint API,直接捕获当前鼠标悬停位置的窗口句柄,你把鼠标移到游戏窗口上按一下热键就能锁定目标,操作最简单。
    • 按进程匹配:先枚举系统所有运行中的进程,拿到目标游戏的进程ID,再枚举该进程关联的所有顶层窗口,筛选出可见的主窗口句柄即可。
  2. 坐标转换
    后台投递鼠标消息时用的是目标窗口客户区的相对坐标(以窗口左上角为0,0点),不是屏幕全局坐标,调用ScreenToClient API把你预设的点击位置转成窗口相对坐标,坐标值拼接后放到消息的lParam参数里即可。
  3. 核心输入投递逻辑
    注意要用PostMessage而不是SendMessage发消息:前者是把消息扔到目标窗口的消息队列就立刻返回,不会阻塞程序;后者会等窗口处理完消息才返回,很容易造成卡顿。
    左键点击的核心逻辑示例:
    // 定义Windows消息常量
    const uint WM_LBUTTONDOWN = 0x0201;
    const uint WM_LBUTTONUP = 0x0202;
    const uint MK_LBUTTON = 0x0001;
    
    // 拼接坐标:高16位存Y坐标,低16位存X坐标
    IntPtr lParam = (IntPtr)((yPos << 16) | xPos);
    // 发左键按下消息
    PostMessage(hwnd, WM_LBUTTONDOWN, (IntPtr)MK_LBUTTON, lParam);
    // 加20-80ms随机延迟模拟真人点击间隔,降低被游戏检测的概率
    Sleep(random(20,80));
    // 发左键抬起消息
    PostMessage(hwnd, WM_LBUTTONUP, IntPtr.Zero, lParam);
    
    键盘操作逻辑一致,替换消息常量为WM_KEYDOWN/WM_KEYUP,wParam传入对应按键的虚拟键码即可。
  4. 全局热键控制
    注册几个系统级全局热键,比如F9控制自动点击启停、F10锁定目标窗口,这样你在前台看YouTube的时候不需要切回点击器窗口,直接按快捷键就能控制功能。

避坑提醒:

  1. 测试前先把游戏改成无边框窗口/普通窗口模式,全屏独占模式下窗口消息大概率失效,无边框模式下把游戏拖到副屏运行,主屏看视频完全不会互相干扰。
  2. 带内核反作弊的联机游戏不要测试这类输入模拟工具,很容易触发反作弊封禁,单机使用没有任何问题。
  3. 如果需要做连点之外的复杂操作(比如自动按技能、拖拽),逻辑和点击一致,只要拼接对应消息的参数、加合理的操作间隔即可。

内容的提问来源于stack exchange,提问作者jancor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 03:57:22