Skip to main content

Python library for automating Windows

Project description

autoxkit

PyPI version Python Version License

一个轻量级的 Windows 自动化库,支持鼠标与键盘操作模拟、全局hook监听、图色识别等功能。适用于自动化脚本、软件测试、人机交互等多种场景。


✨ 功能特色

  • ✅ 支持全局图色识别
  • ✅ 全局鼠标和键盘hook监听
  • ✅ 支持鼠标点击、移动、滚轮等操作
  • ✅ 支持按键按下、释放、文本输入等模拟
  • ✅ 简洁的事件回调机制,便于集成和扩展
  • ✅ 完全基于 Python 实现,易于上手和二次开发

📦 安装方式

从 PyPI 安装:

pip install autoxkit

或下载源码后本地安装:

pip install .

🔧 使用示例

"""
return False 只监听事件,不阻止事件传播
return True 监听事件,并阻止事件传播,可以理解为下一个窗口不会收到该事件
"""

import time
from autoxkit.mousekey import HookListener, KeyEvent, MouseEvent

def key_down(event: KeyEvent):
    print(event.action, event.key_code, event.key_name)
    if event.key_name == 'A':
        print("A键将被阻止传播,其他窗口将无法接收到该事件")
        return True
    return False

def key_up(event: KeyEvent):
    print(event.action, event.key_code, event.key_name)
    return False

def mouse_down(event: MouseEvent):
    print(event.action, event.button, event.position)
    return False

def mouse_up(event: MouseEvent):
    print(event.action, event.button, event.position)
    return False


hook_listener = HookListener()
hook_listener.add_handler('keydown', key_down)
hook_listener.add_handler('keyup', key_up)
hook_listener.add_handler('mousedown', mouse_down)
hook_listener.add_handler('mouseup', mouse_up)
hook_listener.start()

if __name__ == '__main__':
    print("当前鼠标位置:", hook_listener.get_mouse_position())
    print("HookListener 正在运行... 按 Ctrl+C 退出")

    try:
        while True:
            time.sleep(1)
    except Exception:
        hook_listener.stop()

更多示例请参考:examples


📁 GitHub 项目地址

👉 https://github.com/YorickFin/autoxkit


📃 License

本项目基于 GPL-3.0 许可证开源,欢迎使用与二次开发。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autoxkit-0.4.2.tar.gz (27.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autoxkit-0.4.2-py3-none-any.whl (28.4 kB view details)

Uploaded Python 3

File details

Details for the file autoxkit-0.4.2.tar.gz.

File metadata

  • Download URL: autoxkit-0.4.2.tar.gz
  • Upload date:
  • Size: 27.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for autoxkit-0.4.2.tar.gz
Algorithm Hash digest
SHA256 60511936bc35618804e6c785dbc9b6a4603dd5198d4d81da882a9b9d182b7dce
MD5 19516fa8298fd3a2ff7cf6e03a6fa1bf
BLAKE2b-256 4673a86d09a8f1e257457caf05df855aca1c8610a1b132cc5d12a9c721236033

See more details on using hashes here.

File details

Details for the file autoxkit-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: autoxkit-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 28.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for autoxkit-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b833ba92ab068937ec94e427da79e9148836be970f2a9c8b7b3b504e966459a3
MD5 0b28dae40800f4e16325436c00876ffe
BLAKE2b-256 ba6b183f5d087a28e01d848cda6a5e6c82f56c1f53a34d12262fc5799e2fac9e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page