方法1、重复启动
这种方法便是在脚本编辑界面左边的脚本属性设置里,把“禁止重复运行”取消勾选,这样把脚本制作成免费小精灵后就可以重复启动了,按一次启动热键就会启动一次脚本,实现了多开,如图所示
优点:超级大略、无需修正任何代码、轻轻一点即可实现多开,特殊适宜新手
缺陷:如果要每个窗口不同设置,须要在启动提高行修正保存再启动,设置上比较繁琐,随意马虎弄乱,且单停也须要修正停滞热键后启动来区分
方法2、复制多份脚本打包
直接写好一个单开的后台运行脚本,然后新建一个脚本把源码复制过去或者导出q文件到其他地方再添加,启动与停滞热键修正不一样,凑集打包天生一个小精灵里利用即可(商业独立QUI版本的小精灵同样可以这样)
打包后界面是这样的,会以多标签的模式显示,可以相互切换设置界面
优点:相对来讲也较为大略方便快捷,由于界面分开显示,能较直不雅观的看出每个窗口实行的功能,其余通过分别设置不同的停滞热键就可以实现多开单停效果
缺陷:每个脚本界面都要分别设置不同的启动、停滞热键,也较为繁琐,其余受环境变量的影响相互间可能会存在冲突的情形,建议只管即便用全局变量不要用环境变量
方法3、一键启动多个线程
这种方法是指在单一脚本中,通过特定条件(如标题、类名等)进行窗口遍历,一次性找到所有符合条件的窗口句柄,默认
以\公众|\"大众号隔开存入数组中,然后通过分割句柄数组,为每一个窗口开设一个线程,即一键启动多窗口同时运行
干系记事本代码例子可参考:
【院刊】-【201412期】多线程多开脚本如何实现?
优点:方便、快捷,脚本自动判断开了几个要运行的窗口,多个窗口可以一键启动,不须要一个个去点
缺陷:有新增窗口时必须先停滞脚本后再启动,且每个游戏窗口常日只能实行同样的功能,如果要实行不同的功能,则脚本相对会比较繁芜
方法4、单线程分别启动
目前稳定的后台多开脚本常日都是用这种方法,这种方法是把脚本要实行的代码完备写成一个单线程,然后通过循环等待按键,每按一次设定好的启动线程的键,则获取鼠标指向的窗口句柄,开始在这个窗口句柄里运行脚本
以记事本多窗口输入为例代码:
Dim hwnds(),线程ID(),ii=0Do Key = WaitKeyIf key = 118 Then //按f8启动Redim Preserve hwnds(i),线程ID(i)Hwnds(i) = Plugin.Window.MousePoint()线程ID(i) = BeginThread(测试线程)TracePrint join(hwnds,\公众|\"大众)i=i+1End IfIf key = 119 Then//按f9单停Hwnd = Plugin.Window.MousePoint()For w = 0 To i-1If Hwnds(w) = Hwnd Then StopThread 线程ID(w)End IfNextEnd IfLoopSub 测试线程//这里写脚本要实行功能主程序Hwnd = Plugin.Window.MousePoint()Delay 100Do Call Plugin.Window.SendString(Hwnd, \"大众测试\"大众)Delay 1000Call Plugin.Window.SendKeyPress(Hwnd, 13)Delay 1000Loop End Sub复制代码
基于类似此种方法的大漠后台多窗口切换绑定可参考
【院刊】-【201412期】不会用多线程?单线程也可以操作多窗口
优点:灵巧,支持实时新增窗口启动,多窗口可切换不同配置启动,可实现完美单停
多线程整体缺陷:1.多线程命令属于高等命令功能,不推举新手利用
2.目前按键多线程技能并不是很成熟,特殊是运行韶光久了随意马虎涌现非常情形
后记目前关于按键后台脚本多创办法紧张是这几种,就大略先容到这里,如果有新方法欢迎回帖补充,有写错的地方,欢迎纠正
干系院刊:
【院刊】-【201412期】多线程多开脚本如何实现?
【院刊】-【201412期】不会用多线程?单线程也可以操作多窗口
院刊目录
showtopic.aspx?topicid=549014&forumpage=1&page=1