按键精灵高手请进~

我不会编程只是在各论坛吸取了一些凤毛麟角。做了一个脚本 遇到一些问题~求高手帮忙!
脚本的用处:窗口的游戏里 在窗口坐标x550Y480 处按住鼠标右键 锁定鼠标 窗口最小化~可以在电脑桌面做其他事不影响游戏窗口里的任何动作。现在遇到问题 开启按键精灵后 右键按下 鼠标锁定 窗口不能最小化 在桌面不能做任何鼠标点击动作 做了按键精灵失效 我用了361的插件。请高手帮忙看看或者重新编写。
Hwnd = Plugin.Window.MousePoint()
Plugin.bgkms6_10.KMTransform 参数1,参数2
KMData = Plugin.bgkms6_10.KMTransform(hwnd, 0)
If KMData = 0 Then
MsgBox "获得窗口数据失败",4096
EndScript
End If
KMData = Plugin.bgkms6_10.KMTransform(hwnd, 0)
If KMData = 0 Then
MsgBox "获得窗口数据失败",4096
EndScript
End If
Call Plugin.bgkms6_10.MoveTo(KMData, 550, 480)
Delay 50
Call Plugin.bgkms6_10.RightDown(KMData)
Delay 200
KMData = Plugin.bgkms6_10.KMTransform(hwnd, 1)
If KMData = 0 Then
MsgBox "获得窗口数据失败",4096
EndScript
End If
Call Plugin.bgkms6_10.LockMouse(KMData)
While True
Delay 100
Wend
Sub OnScriptExit()
Call Plugin.bgkms6_10.UnlockMouse(KMData)
Call Plugin.bgkms6_10.KMUntransform(KMData)
End Sub
Call Plugin.Window.Min(Hwnd)

你的总周期获取窗口句柄的短语,你在前面设置一个窗口和一个无限循环,所以,所以你得到的句柄访问的过程是新的手柄打开一个新窗口的周期说话到新的窗口。
总周期应该被设置为下获取句柄。
后台操作使用多个窗口,多线程:
的BeginThread“第1行”
的BeginThread“2号线”
BeginThread“3号线”
小一号线
WaitKey
如果key = 49
/ /插入你的第一个窗口操作
其他
GOSUB LINE1
ENDIF
返回
子2号线...... /> WaitKey关键
如果key = 49
REM 2
WaitKey关键
其他
GOSUB 2号线
ENDIF
如果key = 50
/ /插入你的第二个窗口操作
其他
转到第2
ENDIF
返回
子3号线
WaitKey键
如果key = 49
雷姆3
WaitKey关键
其他
GOSUB 3号线
ENDIF
如果key = 50
雷姆4
WaitKey键 BR />其他
页转到
ENDIF
如果key = 51
/ /插入你的第三个窗口操作

转到第4
其他ENDIF
返回
整个句子的意思,如果一个操作执行的第一个窗口,如果按2,第二个窗口上执行的操作,按3进行操作上的第三个窗口,我打上你要操作的三个音符的插入语句,当然,你也可以改变窗口的关键,我用的是123,你也可以使用ABC有控制,抢处理窗口按一次,记得在英语以避免重复的一个窗口,每个窗口句柄变量与不同的记录。追问

你好 我就需要1个窗口 能执行 右键按住 鼠标锁定 窗口最小化 希望能给个 编辑好的 源码 我对编程不懂 你写的看不太懂!- -)

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-01-17
我要悄悄的告诉你, 如果你要这样的话,可以先把窗口最小化。。。然后再用脚本对窗口进行操作。。按键精灵本身是不支持对最小化窗口操作,361插件也不行。。。建议你用大漠插件。不过这个功能好像是收费的。。。。说的只有这么多,做的有很多,不可能帮你代码都写下来追问

谢了 可以用按键精灵做的 现在脚本已经写好了!小精灵都做出来了! 给我帮助的网友的帖子被百度屏蔽了!我在等他来给他分!

第2个回答  2013-01-16
按键精灵自带的的不可以么?追问

自带的后台插件好像不行~自带的后台插件 能完成 右键按住 最小化窗口 但是不能有任何鼠标动作 有的话 右键按住就失效

追答

窗口句柄 不能变。你不要循环定义窗口句柄。

如果按键精灵自带的能按住的话 那么应该就可以用的。

追问

麻烦给个 正确的源码 编程我是个菜鸟

追答

//第一种方法。
Hwnd = Plugin.Window.MousePoint()
Call Plugin.Bkgnd.RightDown(Hwnd, 550, 480)
Call Plugin.Window.Min(Hwnd)

//第二种
Hwnd = Plugin.Window.MousePoint()
Call Plugin.Window.Min(Hwnd)
Do
Call Plugin.Bkgnd.RightClick(Hwnd, 550, 480)
Delay 20
loop

//看看是否可行,如果不可行,用别的插件就比较复杂了。

追问

第1 方法 可以右键按住 也可以最小化 鼠标移动到我另外一个游戏窗口时这个窗口的右键按住 失效了 有什么方法可以把 鼠标指针锁右键按住定在 第一个窗口里 可以用模拟的鼠标么 让游戏第一个窗口里鼠标始终是锁定右键按住的 不会和真是的鼠标有冲突

追答

你看看你的脚本是不是开启了无限循环。

 

 

 

或者说,你想要几个窗口做这一个动作?

 

参考资料 腾讯企鹅!

参考资料:http://hi.baidu.com/laimoxuan

本回答被提问者采纳

高手请进!!按键精灵如何识别弹出对话框如有对话框将执行以下操作,_百度...
用抓抓,把对话框的类抓到,然后取弹出窗口的Hwnd,如果Hwnd大于0就说明有对话框。例如:Hwnd = Plugin.Window.Find("#32770", "来自网页的消息")Delay 200If Hwnd > 0 Then sRect = Plugin.Window.GetWindowRect(Hwnd)a = split(sRect, "|") If a(2) - a(0) > 300 Then Delay ...

按键精灵的高手请进。关与制作后台运行脚本的问题
目前按健精灵不支持后台鼠标,不过你可以去研究插入VB或用VC自己编。如果你能全用键盘实现喊话,那么按健精灵是可以支持的。例如有的游戏是支持按回车就切换到喊话栏。那就可以用按健精灵的窗口插件实现后台喊话了。不过也仅支持E文。如果要喊中文,可以用剪贴板传递数据。在窗口只要按ctrl+V就好了。后...

按键精灵用按键终止循环,高手进~~
while 1=1 keypress 90,1 Delay 500 endwhile 上面的语句可以让他的中止按键是 X ,然后 标记1脚本a 这个脚本的开始按键也是 X , 就可以实现你说的那个了. 你也可以在脚本里加入按键 X ,就可以实现自动关闭 第一个脚本,然后自动开启第二个脚本了。 ..可要采纳我的答案哦。

按键精灵随即输入指定组内文字 高手请进
a(1)="美丽的的"a(2)="时代复分"a(3)="的覆盖的法"a(4)="时的覆盖"a(5)="我而改变"Randomize i=int((5-1+1)*rnd+1)msgbox i&"-"&a(i)

怎样写按键精灵的脚本.高手请进指点
KeyPress 116,1 EndIf Return 灵体 Sub 仙术 Rem 术法 IfColor 678,65,ff,0 \/\/怪,最左端血,位置。需重新自设 KeyPress 51,1 Delay 1000 KeyPress 53,1 Delay 1000 KeyPress 54,1 Delay 1000 \/\/以上按键为攻击快捷键,自设 Gosub 灵体 Goto 术法 EndIf Return 仙术 不太完美,别介意!

按键精灵 不同时间段同时做事。(高手进)
按键精灵 不同时间段同时做事。(高手进) 意思:1分钟后我要跳转到X标记做X事情,2分钟后我又要跳到Y标记做Y事情。那么在这两分钟时间里。X事情我做了两次,Y事情我做了一次。重点的重点两件事情有个共同的时间段,怎么把他们... 意思:1分钟后我要跳转到X标记做X事情,2分钟后我又要跳到Y标记做Y事情。那么...

按键精灵9高手请进!!!
简单点, 加一个步骤判断. 如下:Mystep = 1 rem kaishi FindColorEx 233,201,516,406,"000FD",1,0.9,intX,intY If intX > 0 And intY > 0 and Mystep = 1 Then KeyPress "E", 1 Mystep = 2 end if FindCenterColor 182,730,213,762,"2A4260",intX,intY If intX > 0 And ...

按键精灵脚本读图找图模块,高手请进
Sub 子程序 FindPic 0,0,1024,768,"Attachment:\\图像.bmp",0.9,intX,intY(要先把图像加载到附件中)If intX > 0 Then For 8 MoveTo intx+10, inty+10(这个偏移坐标根据你图片实际大小自己调整从图片左上角第一个点起)LeftClick 1 Delay 5000 Next Else End If EndScript End Sub ...

按键精灵高手请进,关于后台多线程问题
总循环应该设置在获取句柄之下。要对多个窗口后台操作要用到多线程:BeginThread "line1"BeginThread "line2"BeginThread "line3"Sub line1 WaitKey key If key=49 \/\/插入你对第一个窗口的操作 Else Gosub line1 EndIf Return Sub line2 WaitKey key If key=49 Rem 2 WaitKey key Else Gosub ...

按键精灵高手 请进 关于延迟的问题~
删除Delay 你可以关闭按键精灵.到脚本文件夹(如:C:\\Program Files\\按键精灵\\script)里打开那个脚本 在记事本里 编辑-->替换 查找内容里输入:Delay 替换为里输入:\/\/Delay 点击全部替换 保存后关闭 再打开按键精灵 所有延时 全失效了!以为\/\/后的是注释!不起作用 提示,录制的时候最好把录制鼠标移动...

相似回答