按键精灵多窗口同步

就是在多个窗口同时做同样的“动作”。。而且“动作”最好可以是自己录制的。。好的加分。。

【多线程操作教程】任意单停单启动一个窗口[多线程任你控制]

Call 注册大漠
Dimenv 环境变量句柄
//环境变量,线程里面要用到.要定义为环境变量
ID句柄字符串 = ""
//****************************** 检测按键,动作 ***************************************
do
Call Plugin.Msg.Tips("按Insert键绑定,按Delete键解绑")
Key = WaitKey()
// 等待用户按任何键
// 下面是Insert键,绑定鼠标指向的窗口的线程
If Key = 45 Then
环境变量句柄 = dm.GetMousePointWindow()
// 鼠标指向的窗口
// 先判断,这个句柄是否在绑定.如果绑定过.不再重复绑定这个窗口
位置 = Instr(ID句柄字符串, 环境变量句柄)
//Instr函数,作用是:返回"环境变量句柄"在 "ID句柄字符串"中 第一次出现的位置。没出现就是位置=0
// 如果位置=0 就绑定,预防重复绑定
TracePrint 位置
TracePrint ID句柄字符串
If 位置 = 0 Then
//
线程ID=BeginThread(多线程)
// 多线程
// 按一次Home键,就绑定一个窗口多开
句柄 = CStr(环境变量句柄)
ID = CStr(线程ID)
// CStr函数是把整数转换成字符串类型
ID句柄字符串 = 句柄 + "|" + ID + "|" + ID句柄字符串
//
Call Plugin.Msg.Tips("已绑定,一个窗口")
//
Else
Call Plugin.Msg.Tips("窗口已经绑定过了,请不要重复绑定")
Delay 2500
End If
//
//
//########################################################
// 下面是按Delete键,停止鼠标指向的窗口的线程
ElseIf Key = 46 Then
鼠标指向的句柄 = dm.GetMousePointWindow()
// TracePrint ID句柄字符串
位置 = Instr(ID句柄字符串, 鼠标指向的句柄)
//Instr函数,作用是:返回"环境变量句柄"在 "ID句柄字符串"中 第一次出现的位置。没出现就是位置=0
// 如果位置=0 证明这个窗口当前没有绑定,预防没绑定就解绑
TracePrint 位置
TracePrint ID句柄字符串
If 位置 > 0 Then
数组 = Split(ID句柄字符串, 鼠标指向的句柄)
ID = 数组(1)

数组2 = Split(ID, "|")
ID2 = 数组2(1)
// TracePrint ID2
StopThread ID2
// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// 下面是把停止的线程的ID和句柄,从ID句柄字符串去掉
TracePrint ID句柄字符串
删除数组 = Split(ID句柄字符串, 鼠标指向的句柄)
左边 = 删除数组(0)
ID3= ID2+"|"
删除数组2 = Split(ID句柄字符串, ID3)
右边 = 删除数组2(1)
ID句柄字符串 = 左边 + 右边
TracePrint ID句柄字符串
//
// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Call Plugin.Msg.Tips("已解绑,一个窗口")
Else
Call Plugin.Msg.Tips("窗口都没绑定过,你解绑什么嗯,想下标越界么")
Delay 2500
End If
End If
Delay 1500
// 适当延迟,避免连按键
Call Plugin.Msg.Tips("")
Loop
//
//
//****************************** 多线程程序 ***************************************
Sub 多线程
set dm = createobject("dm.dmsoft")
//↑创建“一个对象”
// dm_ret = dm.SetDict(0,"c:\test_game\dm_soft.txt")
//字库
Call 绑定()
//下面是你要编写的程序
Do
dm. KeyPress 81
// 输入文字Q
//
Delay 1000
Loop
End Sub
//
//
//
//****************************** 注册大漠 ***************************************
sub 注册大漠
need_ver = "3.1225B"
PutAttachment "c:\test_game","*.*"
PutAttachment ".\Plugin" ,"RegDll.dll"
Call Plugin.RegDll.Reg("c:\test_game\dm.dll")
set dm = createobject("dm.dmsoft")
ver = dm.Ver()
if ver <> need_ver then
set dm = nothing
set ws=createobject("Wscript.Shell")
ws.run "regsvr32 c:\test_game\dm.dll /s"
set ws=nothing
Delay 1200
set dm = createobject("dm.dmsoft")
ver = dm.Ver()
if ver <> need_ver then
messagebox "插件版本错误,当前使用的版本是:"&ver&",插件所在目录是:"&dm.GetBasePath()
messagebox "请关闭程序,重新打开本程序再尝试"
endscript
end if
end if
//上面是注册大漠
// dm_ret = dm.SetDict(0, "c:\test_game\dm_soft.txt")
//字库
End Sub
Sub 绑定()
hwnd = 环境变量句柄
dm_ret = dm.BindWindow( hwnd, "gdi2", "windows", "windows",0)
//绑定窗口
//
If dm_ret=0 Then
//判断上面是否获取到句柄
MessageBox "错误;请把鼠标移到游戏窗口内,再启动脚本"
End If
// dm.DownCpu 50
dm_ret = dm.SetPath("c:\test_game\")
//设置全局路径,设置了此路径后,所有接口调用中,相关的文件都相对于此路径. 比如图片,字库等.< /SPAN >
//设定附件的路径,以后找图命令里面就没必要添加路径了
End Sub
Sub OnScriptExit()
dm.UnBindWindow
End Sub追问

有没有具体操作过程?怎么把自己录制的“动作”加进去?

追答

你录制的动作替换这一段
dm. KeyPress 81
// 输入文字Q
//
Delay 1000
Loop

追问

我把我录的东西发给你。。你帮我弄成多窗口行不?我是直接录制的。。你加我qq吧。。296025536

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-10-13
如果主程序要加个检测线程怎麼写,谢谢

按键精灵如何实现多个窗口同事操作?
1、重复启动,在编辑界面右边属性设置里,把“禁止重复运行”设置为:否,即可在对每个窗口按一次启动热键,分别启动脚本功能。2、多线程启动,把脚本主线循环结构写成Sub或Function,然后用 BeginThread 多线程命令启动。(子线程之间的变量是不共享的)3、单开后台完善后,直接新建脚本复制源码,保存,启动...

按键精灵做一个多窗口同步按键和鼠标的
1、首先在桌面找到并且双击打开按键精灵,显示出按键精灵主页,打开一个新的脚本制作表,如图找到点击打开 新建 图标。2、点击打开了新建按钮,出现到可以写命令的平台,很多命令表和命令库等指示。3、找到鼠标命令如图。选择提示框的鼠标左击后,再点击插入按钮,就会出现在命令表 LeftClick 1 (命令是鼠...

如何用按键精灵实现游戏多开,鼠标按键同步操作
1、首先在电脑中打开按键精灵,点击“我的脚本”。2、接着点击工具栏上的“录制”。3、然后在录制窗口,点击“记录”,如下图所示。4、勾选要录制的动作,再击“返回”。5、返回录制窗口后,点击红色圆形的按钮,或者按下快捷键“Scroll Lock”,即可开始录制。

按键精灵做一个多窗口同步按键和鼠标的
如果,完全自动的同步就简单了。\/\/1、先得到所有窗口的句柄,这个根据实际情况有很多办法Hwnd1 = Plugin.Window.Foreground() Delay 10000 Hwnd2 = Plugin.Window.Foreground()\/\/下一句第一个窗口按aCall Plugin.Bkgnd.KeyPress(Hwnd1, 65)\/\/下一句第二个窗口按aCall Plugin.Bkgnd.KeyPress(Hwnd2, 65)\/\/下一...

按键精灵多窗口同步
\/\/*** 检测按键,动作 do Call Plugin.Msg.Tips("按Insert键绑定,按Delete键解绑")Key = WaitKey()\/\/ 等待用户按任何键 \/\/ 下面是Insert键,绑定鼠标指向的窗口的线程 If Key = 45 Then 环境变量句柄 = dm.GetMousePointWindow()\/\/ 鼠标指向的窗口 \/\/ 先判断,这个句柄是否在绑定....

请高手解决按键精灵的躲开窗口同步的问题
总循环应该设置在获取句柄之下。要对多个窗口后台操作要用到多线程: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 ...

你好,你能教教我按键精灵实现游戏多开操作同步吗?
首先要学会编后台脚本,而且要确认那个游戏支持后台脚本,否则就还需要买按键盒子或神盾。以上条件具备了,就离成功不远了。 不知你的基础怎么样?

AutoHotkey或者按键精灵怎么实现多窗口一键同步
遍历魔兽世界窗口,取窗口句柄,当任一游戏窗口前台时,检测1-5按键,有按下,就同时向所有魔兽世界窗口后台发送同一安健

如何用按键精灵实现 多窗口同步操作 .. 有源码请发源码.. 100分...
aa = WaitKey()Hwnd = Plugin.Window.MousePoint()bb = WaitKey()Hwnd2 = Plugin.Window.MousePoint()While True Call Plugin.Bkgnd.KeyPress(Hwnd, 65)Call Plugin.Bkgnd.KeyPress(Hwnd2, 65)Wend EndScript 分别获取2个窗口的句柄。后台操作。

按键精灵键盘同步
按键精灵键鼠同步器源码分享,具体实现同步步骤如下: 1、 获取主窗口和被同步窗口句柄 ● WaitKey 命令等待键盘按下 ● 按下F6则获取当前鼠标指向的窗口句柄,作为主窗口句柄。 ● 按下F7 则获取当前鼠标指向的窗口句柄,作为同步窗口句柄。 ● 用Do循环来等待按键,当主窗口句柄和同步窗口句柄都获取到时,退出Do循环...

相似回答