按键精灵录制脚本改后台

2024-12-22 12:19:16
推荐回答(2个)
回答1:

改成后台的话,你的坐标地址全部都要变。。

利用
Plugin Hwnd = Window.MousePoint()
得到句柄,在把屏幕坐标换算成句柄坐标

换算方法:
Dim HUA
//申明变量是个好习惯
HUA=""
//定义变量
Plugin hwnd=Window.Foreground()
//调用插件得到当前窗口句柄,结果返回给变量hwnd
Plugin wtext=Window.GetText(hwnd)
//调用插件根据窗口句柄得到当前窗口标题,结果返回给变量wtext
Plugin wclass=Window.GetClass(hwnd)
//调用插件根据窗口句柄得到当前窗口类,结果返回给变量wclass
Plugin path=Window.GetExePath(hwnd)
//调用插件根据窗口句柄得到当前窗口的路径,结果返回给变量path
Plugin rect=Window.GetClientRect(hwnd)
//调用插件根据窗口句柄得到当前客户区坐标数据,结果返回给变量rect
Plugin wrect=Window.GetWindowRect(hwnd)
//调用插件根据窗口句柄得到当前窗口坐标数据,结果返回给变量wrect
MyArray = Split(rect, "|", -1, 1)
//以"|"这个条件来分割字符串rect,结果返回数组MyArray()
//在这里这个字符串rect分割后有4个数组元素,它们分别是:
//MyArray(0)=客户区左上角X坐标
//MyArray(1)=客户区左上角Y坐标
//MyArray(2)=客户区宽度
//MyArray(3)=客户区高度
HUA=HUA&"当前窗口标题是:" &wtext&vbCrLf
HUA=HUA&"当前窗口类是:" &wclass&vbCrLf
HUA=HUA&"当前窗口的路径是:"&path&vbCrLf
HUA=HUA&"当前窗口大小是:"&wrect&vbCrLf
HUA=HUA&"客户区左上角X坐标是:"&MyArray(0)&vbcrlf
HUA=HUA&"客户区左上角Y坐标是:"&MyArray(1)&vbcrlf
HUA=HUA&"客户区宽度是:"&MyArray(2)&vbcrlf
HUA=HUA&"客户区高度是:"&MyArray(3)&vbcrlf
msgbox HUA

得到屏幕坐标减去窗口坐标。。你试试

回答2:

必须先定义窗口最左上角的坐标为起点坐标(0,0),接下来的坐标才可以用,你给的都是屏幕坐标,移动下窗口就不行了。改后台简单。