; 某网页单据打印辅助AutoHotkey v1.0脚本,本来打印单据需要用鼠标点击多次,
; 运行此脚本之后只需在输入完毕后按快捷键热键
; 为了便于寻找快捷键位置,我在F4键的键帽上贴了黄色贴纸
; 可用 AHKInfo 1.3.5 或者 AhkSpy 等窗口信息探测工具来获取鼠标光标的当前位置
; 2025-03-31

; 由于”【函数】FindText中文版- 屏幕抓字生成字库工具与找字函数”比较复杂,创建和使用脚本麻烦
; 所以我使用 MouseMove、Click和Sleep这3个AHK原生语句来制作此脚本,
; 这3个内置函数语句的优点是性能速度快,效率高,稳定可靠(有时候FindText在不同电脑上会找不到位图),
; 这3个内置函数语句的缺点是环境适应性差,不同显示器,不同显卡,不同电脑,不同分辨率下的全局坐标可能会不同,需要重写代码.
; 这3个内置函数语句的缺点是需要窗口最大化,窗口位置固定,否则有可能点击不到网页中的按钮.
; 我这边网页平台系统只要多次鼠标点击写到1个快捷键热键就可以了,只要能够长期稳定使用就可以了,要求不高.
; 所以我也不想再根据屏幕分辨率 DPI 缩放修正通用全局坐标了,不折腾了,只要一个电脑上能用就好了,
; 并且我这个Windows 10 企业版 LTSC 电脑用Acronis True Image 2021 在USM v5下备份了系统分区,
; 并且正确安装设置了Deep Freeze Standard冰点还原精灵保护电脑第1分区系统分区C盘.

; xx=% “x” 397*A_ScreenDPI//96
; yy=” y” 63*A_ScreenDPI//96
; MouseMove,xx,yy

;;;;;;;点击窗口内指定坐标 【DPI缩放通用坐标修正】
; ControlClick, % “x” 397*A_ScreenDPI//96 ” y” 63*A_ScreenDPI//96, D:APPF4F4.ahk * SciTE4AutoHotkey ahk_class SciTEWindow

; FindText 深度教程 v1.2
; https://www.autoahk.com/archives/41636
; https://www.autoahk.com/archives/47248
; https://www.autoahk.com/archives/39249
; https://www.autoahk.com/archives/28493

; 设置每次鼠标移动或点击后自动的延时.
SetMouseDelay,0
SetKeyDelay,0
SetControlDelay,0
SetWinDelay,0
; 把 Click, MouseMove, MouseClick 放置在绝对的屏幕坐标上.
CoordMode, Mouse, Screen
; 设置脚本可以 “看见” 隐藏的窗口.
DetectHiddenWindows, On
; 按快捷键 Ctrl + F4 立即退出此脚本
Hotkey,^F4,ExitPrintHMF
Hotkey,F4,PrintHMF
return
ExitPrintHMF()
{
ExitApp
}
PrintHMF()
{
; MsgBox
;第1步:点击 提交保存网页按钮
Sleep,55
MouseMove,1030,1007
Sleep,55
MouseMove,1030,1007
Sleep,333
Sleep,55
Click
Sleep,55
Sleep,333

;第2步:点击 打印预览网页按钮
Sleep,55
MouseMove,1064,666
Sleep,55
MouseMove,1064,666
Sleep,333
Sleep,55
Click
Sleep,55

;第3步:点击 打印网页按钮
; 等待”打印预览”窗口创建并显示,”打印预览”窗口不是对话框,是新的窗口,显示比较慢。
; 先移动鼠标光标到目标坐标位置,然后再等待
Sleep,55
MouseMove,455,37
Sleep,55
MouseMove,455,37
Sleep,333
Sleep,333
Sleep,333
Sleep,333
Sleep,333
Sleep,55
Click
Sleep,55
Sleep,333

;第4步:点击 确定对话框按钮
Sleep,55
MouseMove,1090,538
Sleep,55
MouseMove,1090,538
Sleep,333
Sleep,55
Click
Sleep,55
Sleep,333

;第5步:点击 关闭网页按钮
Sleep,55
MouseMove,495,37
Sleep,55
MouseMove,495,37
Sleep,333
Sleep,55
Click
Sleep,55
Sleep,333

;第6步:点击 取消网页按钮
Sleep,55
MouseMove,1152,665
Sleep,55
MouseMove,1152,665
Sleep,333
Sleep,333
Sleep,55
Click
Sleep,55

;第7步:点击 收费方式网页下拉列表单选框
Sleep,55
MouseMove,507,478
Sleep,55
MouseMove,507,478
Sleep,333
Sleep,333
Sleep,55
Click
Sleep,55
Sleep,333

;第8步:点击 微信
Sleep,55
MouseMove,496,559
Sleep,55
MouseMove,496,559
Sleep,333
Sleep,55
Click
Sleep,55
Sleep,333

;第9步:点击 位置/姓名 搜索框网页控件
Sleep,55
MouseMove,484,237
Sleep,55
MouseMove,484,237
Sleep,333
Sleep,55
Click
Sleep,55
Sleep,333

;第10步:发送 Ctrl + A 全选搜索框中原有的内容,为下一次筛选搜索过滤记录行做好输入准备。
Sleep,55
Send,^a
Sleep,55
}