按键精灵怎么让脚本运行指定的窗口并支持后台

如题所述

//得到鼠标指向的窗口句柄
Hwnd = Plugin.Window.MousePoint()
//向后台窗口句柄(变量:Hwnd)发送一个键盘(扫描码:65)按键
Call Plugin.Bkgnd.KeyPress(Hwnd, 65)
//向后台窗口句柄(变量:Hwnd)发送一个鼠标移动到客户区域(坐标:0, 0)处
Call Plugin.Bkgnd.MoveTo(Hwnd, 0, 0)
//向后台窗口句柄(变量:Hwnd)的客户区域(坐标:0, 0)处发送一个鼠标右键单击
Call Plugin.Bkgnd.RightClick(Hwnd, 0, 0)
//向后台窗口句柄(变量:Hwnd)发送一个文本消息(内容:"内容")到客户区
Call Plugin.Bkgnd.SendString(Hwnd, "内容")
你把Hwnd 句柄当做一个对象,就像你要发短信需要一个电话号码才能操作一样。然后后面的就好理解了。不懂再问。这些命令都能在按键精灵里面的插件命令-后台命令里找到,祝你好运。追问

能帮我改个脚本么。。。。 改成就在一个窗口运行

追答

要求呢?不要太长的,因为改的部分一般都 一样,如果太长我只能给你大概的样了。

追问

Delay 1000
KeyPress "1", 1
Delay 20000
KeyPress "2", 1
Delay 2000
KeyPress "2", 1
Delay 2000
KeyPress "3", 1
Delay 1500
KeyPress "4", 1
Delay 10000
KeyPress "1", 1
Delay 10000
KeyPress "2", 1
Delay 2000
KeyPress "2", 1
Delay 2000
KeyPress "3", 1
Delay 1500
KeyPress "4", 1
Delay 10000

不长把。。。

追答

Hwnd = Plugin.Window.MousePoint()
Delay 1000
//向后台窗口句柄(变量:Hwnd)发送一个键盘(扫描码:49)按键
Call Plugin.Bkgnd.KeyPress(Hwnd, 49)//键盘1按键码为49,2为50,3为51,4为52

接下来你自己写。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-01-30

//下面这句是查找窗口类名("Notepad")或者标题(0),返回找到的句柄Hwnd
Hwnd =
Plugin.Window.Find("Notepad", 0)//Notepad改为游戏窗口的名称

//下面这句是得到窗口句柄的客户区大小

sRect =
Plugin.Window.GetClientRect(Hwnd)

//下面这句用于分割字符串,将横坐标和纵坐标分成两个字符串
dim MyArray 

MyArray = Split(sRect,
"|")//加粗部分要改成这样
//下面这句将字符串转换成数值
UX= Clng(MyArray(0))

UY = Clng(MyArray(1))

以上信息综合到一起就是:

Hwnd = Plugin.Window.Find("Notepad", 0)

sRect = Plugin.Window.GetClientRect(Hwnd)

dim MyArray //变量的名称

MyArray = Split(sRect, "|") //将变量分割为字符串

x = Clng(MyArray(0))  //将字符串转换为x的数值,x为定义的名词

y= Clng(MyArray(1)) //将字符串转换为y的数值,y为定义的名词

//上边就是为下边命令做铺垫

//按键精灵里启动插件里的后台命令,直接插入按键使用,切记后台按键和前台按键代码不同。

禁忌所有代码全部用按键精灵里的插入,不能将代码直接复制粘贴,很容易出现问题。细心检查,没有问题了,就可以使用。

本回答被网友采纳
第2个回答  2017-09-15
内容过于繁琐 不利于大量代码修改
相似回答