autohotkey[启动][发送键击][click][常用窗口命令]

启动程序或文档

run命令

;run exe file in environment path
Run Notepad

; 不在环境变量中的程序或文档
Run %A_ProgramFiles%\Winamp\Winamp.exe 

;open file
Run C:\My Documents\Address List.doc
Run C:\My Documents\My Shortcut.lnk

;open web link
Run www.yahoo.com
Run mailto:someone@somedomain.com

runwait命令

程序或文档关闭后才继续执行脚本

RunWait Notepad
MsgBox The user has finished (Notepad has been closed).

单行命令和多行命令

单行命令

#n::Run Notepad
^!c::Run calc.exe

多行命令

#n::
Run http://www.google.com
Run Notepad.exe
return

发送键击和鼠标点击

send命令

  • 如果没有花括号 {}, 则将后跟参数以字符串输出
  • 若发送键击, 则要用花括号括起来, 除非是
    • #: win
    • +: shift
    • ^: ctrl
    • !: alt
举例
Send ^c!{tab}pasted:^v

会输出当前选中内容, 然后alt+tab切换界面,输出"pasted"字符串,再粘贴方才选中内容

鼠标点击

运行程序

在这里插入图片描述

将鼠标移动到对应程序上, window spy会显示对应的鼠标坐标和程序名及class名

使用click命令
Click  ; 在鼠标光标的当前位置点击鼠标左键.
Click 100, 200  ; 在指定坐标处点击鼠标左键.
Click 100, 200, 0  ; 移动而不点击鼠标.
Click 100, 200 right  ; 点击鼠标右键.
Click 2  ; 执行双击.
Click down  ; 按下鼠标左键不放.
Click up right  ; 释放鼠标右键.

激活和操作窗口

  • 激活当前置顶窗口 WinActivate

  • 判断窗口是否存在 ifWinExist 或 WinWait

举例
IfWinExist Untitled - Notepad ; IfWinExist 后跟程序标题(区分大小写
{
    WinActivate
}
else
{
    Run Notepad
    WinWait Untitled - Notepad ; 等待对应窗口出现
    WinActivate ; 激活对应窗口
}

常用命令

  • IfWinActive: 检查指定的窗口当前是否活动.

  • WinWaitActive: 等待指定窗口变为活动窗口 (通常用在激活窗口的键击后面, 例如按下 Control-F 来打开 “查找” 窗口).

  • WinClose: 关闭指定的窗口.

  • WinMove: 改变指定窗口的位置和/或大小.

  • WinMinimize, WinMaximize, WinRestore: 分别最小化, 最大化或还原指定窗口.
    在这里插入图片描述

### Python Windows 自动化库推荐 对于 Python 实现 Windows 系统上的自动化操作,有多个优秀的库可供选择。以下是几个常用的库及其功能介绍: #### 1. **Pywinauto** `pywinauto` 是一个专门用于 Windows GUI 自动化的强大工具[^1]。它支持多种控件类型的交互操作,例如按钮点、输入框填写以及窗口切换等。该库适用于桌面应用程序的测试和自动化流程开发。 - 安装命令: ```bash pip install pywinauto ``` - 使用示例: ```python from pywinauto import Application app = Application(backend="uia").start("notepad.exe") # 启动记事本程序 dlg = app.window(title_re=".*Notepad") # 获取主对话框对象 dlg.Edit.type_keys("Hello, Pywinauto!", with_spaces=True) # 输入文字到编辑区域 ``` #### 2. **Pyautogui** 另一个非常流行的跨平台图形界面控制库是 `pyautogui`[^2]。它可以模拟鼠标移动、键盘按键事件,并能截取屏幕图像识别特定位置来完成更复杂的任务。 - 安装方法: ```bash pip install pyautogui ``` - 示例代码片段如下所示: ```python import pyautogui as pgui pgui.moveTo(x=100, y=200, duration=1) # 将鼠标指针平滑地移到坐标 (100, 200) pgui.click() # 单左键 pgui.typewrite('Hello world!', interval=0.25)# 键入字符串 'Hello world!' ``` #### 3. **Pynput** 如果仅需监听或发送简单的输入信号而无需关心具体应用内部结构的话,可以考虑采用轻量级解决方案——pynput 库。此模块允许开发者轻松捕获用户的动作并作出响应。 - 下载方式: ```bash pip install pynput ``` - 基础用法举例: ```python from pynput.mouse import Listener def on_click(x, y, button, pressed): print(f"{button} {'pressed' if pressed else 'released'} at ({x}, {y})") listener = Listener(on_click=on_click) listener.start() input("Press Enter to stop...") listener.stop() ``` #### 4. **AutoIt 和 AutoHotkey 的替代方案** 虽然严格意义上不属于纯 python 范畴,但有时也会借助外部工具生成部分逻辑再嵌套至项目里头运行。比如文中提到过的 CukeTest 可视化录制器能够快速构建复杂场景下的行为序列并通过导出为可读性强的 python 文件形式加以维护管理^。 另外值得注意的是,在某些特殊情况下可能还需要额外处理长期挂起的服务实例等问题;此时则需要用到操作系统层面的相关 API 来强制终止指定名称的任务进程等等[^3]^。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值