按键精灵如何制作后台脚本

我已经有一个做好的按键精灵脚本了,但不是后台的,我现在想把整个脚本做成后台的,有什么好方法直接给转换了么?
还有就是如果我开了很多窗口,比如程序A、B、C、D,脚本如何识别我要进行后台的程序是A呢?
谢谢各位了~

// 这是获取当前窗口的句柄
Plugin hwnd = Window.GetKeyFocusWnd()
Delay 1000
Rem start
Delay 200
Plugin Window.SendKeyPress(hwnd, 49)
Delay 200
Plugin Window.SendKeyPress(hwnd, 50)
Delay 200
Plugin Window.SendKeyPress(hwnd, 51)
Delay 200
Plugin Window.SendKeyPress(hwnd, 52)
Goto start

每个窗口都有不同的句柄... 你只要获得了当前窗口的句柄, 就可以实现后台对其操作了.... Window.SendKeyPress(hwnd, 49) 是对句柄为 hwnd 的窗口发送
一个1... 就是按了一下键盘上的1 .... 快去试试吧
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-06
我经常用Plugin
hwnd=window.getkeyfocuswnd()
获得当前窗口的句柄Hwnd。如果向窗口发送K键,则用Plugin
Bkgnd.KeyPress(Hwnd,75)来实现。第三条,这是许多人转不过弯的地方。假定窗口左上角坐标为屏幕坐标系的(100,200),那么前台语句MoveTo
328,
239LeftClick
1与后台语句Plugin
Bkgnd.LeftClick(Hwnd,228,39)是同样的效果。如果把窗口左上角移动到屏幕坐标系(155,89)处,前台语句MoveTo
383,128LeftClick
1与后台语句Plugin
Bkgnd.LeftClick(Hwnd,228,39)也是同样的效果。可以清楚看到,移动窗口后,前台坐标需要改变,而后台坐标则不变。仔细体会一下,屏幕坐标系和窗口坐标系的区别。它们的关系是X=328-100,Y=239-200

X=383-155,Y=128-89窗口坐标=屏幕坐标-窗口坐标系原点坐标 如果你实在体会不了屏幕坐标系和窗口坐标系的区别,请往下看。Plugin
hwnd=window.getkeyfocuswnd()Plugin
s
=
Window.GetClientRect(hwnd)MyArray
=
Split(s,
"|",
-1,
1)SX
=
MyArray(0)SY
=
Myarray(1)这一段是获得窗口坐标系原点坐标(SX,SY),当你需要把前台脚本改为后台脚本时,只需要套用公式窗口坐标=屏幕坐标-窗口坐标系原点坐标
就行了。你也许会问,这样改后,移动窗口时,脚本会不会乱点,答案是不会。
第2个回答  2019-01-08
按键精灵有命令和插件,你去查下就可以了,要学会灵活运用,就像我当初的时候,不喜欢按键精灵就学了delphi,一样学的很好,因为windows封装的已经很多了。最重要的是算法,我感觉按键精灵就是一个壳子,技术垃圾。
相似回答