请问 按键精灵怎么用脚本,怎样随机又不重复点击5个指定坐标中的3个?

按键精灵在固定4个坐标点怎么随机选出3个坐标点_百度知道
按键精灵在固定4个坐标点怎么随机选出3个坐标点
比如11,,有4个坐标点,需要随机抽出3个坐标点??执行3个坐标点各鼠标左键单击一次循环执行请教高人谢谢,最好能给个实例,谢谢...
有4个坐标点,需要随机抽出3个坐标点 ?? 执行3个坐标点各鼠标左键单击一次 循环执行
请教高人谢谢,最好能给个实例,谢谢
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
来自电脑网络类芝麻团
采纳数:103
获赞数:80
参与团队:
Dim 坐标(3)Do坐标(0) = &11,22&坐标(1) = &31,210&坐标(2) = &51,202&坐标(3) = &81,210&
a = Int((3 - 0 + 1) * Rnd + 0)
b = Int((3 - 0 + 1) * Rnd + 0)
Loop While a = b
c = Int((3 - 0 + 1) * Rnd + 0)
Loop While c=a or c=b
坐标xy = split(坐标(a), &,&)
x = 坐标xy(0)
y = 坐标xy(1)
MoveTo x, y
LeftClick 1
坐标xy = split(坐标(b), &,&)
x = 坐标xy(0)
y = 坐标xy(1)
MoveTo x, y
LeftClick 1
坐标xy = split(坐标(c), &,&)
x = 坐标xy(0)
y = 坐标xy(1)
MoveTo x, y
LeftClick 1Loop
做个随机数 1到4 如果等于1 坐标1不点击
还是搞不太懂如果等于1坐标1不点击 那么11,22这个坐标不是循环随机3个坐标点为一组不到了?能给个实例代码吗?
随机等于2就2不点啊 四个判断就好了
表示他的事正解。
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。按键精灵 脚本中写了个函数
[问题点数:5分,结帖人c_hua6280]
本版专家分:0
结帖率 100%
CSDN今日推荐
本版专家分:468
匿名用户不能发表回复!
其他相关推荐
vb写的按键精灵,可以保存自制脚本,开源
最近在项目中需要进行软件的自动化操作。
本博文以两种方式介绍如何自动化打开软件(Windows下),对其进行最大化最小化关闭等操作。
Python操作:
第一次接触自动化。相对比较熟悉Python自然是希望通过Python来操作软件。一般来说,通过程序来操作软件需要获得该软件的句柄,然后通过该句柄给软件发消息来操作该软件。Python中你需要安装Pywin32模块,该模块提供了访问W
VB界面与按键小精灵完美结合实现窗体句柄、类别及标题的获取(含源代码):其中整合了VB界面的制作,托管图标的刷新,文件的读写、按键精灵外部程序的调用与关闭,窗体句柄、类别、标题的获取,文件的创建、删除及读写等功能,最值得一提的是结合VB的界面直观显示实时窗体信息,既克服了VB不能直接调用按键精灵dll等插件命令的问题,也克服了按键精灵界面只能读取输入不能实时界面输出显示的缺陷,实现了VB强大界面功能与按键精灵经典DLL插件函数的完美融合。其中包含了VB的源代码与按键小精灵源代码(注:按键精灵代码请先安装按键精灵8以后版本再进行修改)。
PS:小精灵是去广告版的哦。。。。
介绍了按键精灵的语法和调用函数
包括,内置函数,VBS标准函数,扩展插件函数,经典脚本
// 如果发现左下方有队伍的话筒图标 证明当前组队成功
If CmpColorEx(&184|366|76DDFF,188|366|86E3FF,197|367|9DD2E1,193|371|9FE9FB,187|385|9DE8FF&,0.9) = 1 Then
TracePrint &目前组队中,无需配对&
// Exit Do
程序经常需要调试,需要程序自动按键,或者某些繁琐操作,比如游戏外挂,需要按键精灵来完成。
android 提供给开发者发送模拟按键的类Instrumentation:
public class
Instrumentation
extends Object
java.lang.Object
android.app.Instr
来源:按键学院
【按键精灵】
脚本使用说明:
1. 此脚本可应用于各种网络游戏,用于自动间隔时间使用辅助技能,可自定义三个技能和间隔时间。
2. 脚本开始运行前请先在按键精灵主界面上设置自定义参数,修改后点击上方的“保存”按钮。
3. 可定义辅助技能热键:数字0~9、字母A~Z、F1~F12 ,设置技能时字母可不分大小写。
4. 如果辅助技能是F1~F12,比如技能是F12,自定义参
在android 上运行lua脚本,但是想用lua脚本的方式去实现自动按键的效果的话就得拓展lua关键字;我是直接在 AndroLua的基础上拓展的。很多人说为什么不用adb,adb只能实现简单的指令,不能实现取色找图效果,因此要实现高级指令的话,必须用C/C++实现,直接操作底层的设备驱动文件,而且adb指令也不能做到远程下发实现集控效果,因此要想自己的项目在移动端自动化里面起点站的更高一点的话...
主要的函数都放在KeyB_Mouse_sub模块中。代码无加密
2.6版更新:利用钩子改进了抓点方式(感谢小FISH给的范例),改进了定位图片坐标的函数,加入一些新的函数,如waitkey,详见说明。
表格说明:就是控制鼠标键盘的操作,批量输入数据用的。像按键精灵,只是这个跟EXCEL结合在一起用,可以方便利用EXCEL在数据分析与整理方面的强大功能。(编写方法与宏的编写一致,只是集成了一些函数与工具方便控制键盘与鼠标)
附属表格范例.rar 给大家示范一下是怎么用这个基础表的
这个基础表就是一些控制键盘与鼠标的函数集合及一些辅助设计的工具集合。真正要实现一些功能还是要自己看情况自行编写。
里面值得参考的代码:VBA如何利用WIN32 API控制键盘鼠标
VBA利用钩子(勾子)实现鼠标抓点功能等等
第一步. 获取(并记录)点击的位置1.找出我们的安卓设备名称
getevent -p
查看哪个设备包含event 体系里 宽(0035)和高(0036),那么这个设备就是我们的安卓手机,例如这里的设备名称为/dev/input/event8
计算比例:
rateW = 720(手机屏幕的宽) / 719(event里0035的max) ≈ 1
rateH = 12在这4个点正方形319, 8
366, 9 364, 56区域内找到一个坐标
全部答案(共2个回答)
上弄的代码,不是你要的功能,他那个代码没有保障在四次点击,每一个坐标都点到。 要实现你这个功能,用数组比较方便,代码我不解释了,你自己看着办,代码如下: Dim?Num(4),?x(4),?y(4) x(1)?=?1?:?y(1)?=?1 x(2)?=?10?:?y(2)?=?10 x(3)?=?33?:?y(3)?=?33 x(...
你从网站上弄的代码,不是你要的功能,他那个代码没有保障在四次点击,每一个坐标都点到。 要实现你这个功能,用数组比较方便,代码我不解释了,你自己看着办,代码如下: Dim?Num(4),?x(4),?y(4) x(1)?=?1?:?y(1)?=?1 x(2)?=?10?:?y(2)?=?10 x(3)?=?33?:?y(3)?=?33 x(4)?=?654?:?y(4)?=?75 While?True For?i?=?1?To?4 Num(i)?=?0 Next n?=?1 While?n?=?n?Then? Num(n)?=?a n?=?n? ?1 Exit?For End?If Next Wend //MessageBox?Num(1)?&?"|"?&?Num(2)?&?"|"?&?Num(3)?&?"|"?&?Num(4) For?i?=?1?To?4 m?=?Num(i) Call?Plugin.Bkgnd.LeftdoubleClick(Hwnd,?x(m),?y(m)) Delay?100 Next Wend 如果你只想点击四个坐标一次,你就把While?True……Wend去掉。
你给出的坐标好像有点问题耶. 正方形左上角X坐标?=0 正方形左上角Y坐标?=0 正方形右下角X坐标?=?100 正方形右下角Y坐标?=?100 For?4//循环4次? MoveTo?随机(正方形左上角X坐标,?正方形右下角X坐标),?随机(正方形左上角Y坐标,?正方形右下角Y坐标) //使用左上角X坐标与右下角X坐标之间的随机数获得一个新的X坐标.?Y坐标也一样.这样就能得出随机坐标了. Delay?500//延迟半秒 Next Function?随机(小,?大) Randomize? 随机?=?Int((大?-?小? ?1)?*?Rnd? ?小) End?Function
按键精灵是一个记录鼠标键盘动作的软件。
你选择“开始记录”,然后说话,也就是方向键上+回车,然后停止记录。记录和停止记录的时候要用按键精灵的快捷键。
再选择运行...
看是不是在找第二张图之前的延迟调高点.如果不行,看下你第二张图的质量,调整下相似度再看看.如果还是不行,就换个结构,不用gosub,直接写到一起.
不是木马。
不能因为它能调用rundll32和其他dll文件就认定它是木马文件。
我不知道是不是所有版本的按键精灵都有这个文件——QMDispatch.dll,...
很简单!您先到华军软件园中收索:按键精灵,下载安装好就启动按键精灵——按红色的按纽启动---缩小成一个有提示“热键”的小窗口---提示热键是“按SCROLL L...
你这个很有问题啊,根本不会执行B的,因为goto a会到ram a这个是个死循环。
高深的时间容器的程序我就不给你做了,我给想了一个简单的方法。做2个脚本
答: OKEX上新的OKGAME是什么?
答: 资源间的数据交换和授权认证、安全控制都在这一层控制实现
答: 分享个:P2P终结者软件~就挺厉害的~
每家运营商的DNS都不同,而且各省的也不同。你可以问问你的网络提供商,他们会告诉你的。(也可以通过分别访问域名和IP来检查DNS是否正常,访问域名不行,而访问IP可以,则说明DNS设置不对)
另外,如果ADSL-电脑没问题,一般ADSL-路由器也没问题的。而且采用ADSL拨号的话,DNS可以不设置的,拨号成功后会自动取得DNS服务器。
问题可能出在路由器设置上。进去检查一下吧。看看上网方式,上网用户名密码是否正确。
(有个问题要注意一下,有些地方的运营商会限制使用路由器或者限制接入数量,一般是采取绑定网卡MAC地址的方式,如果路由器设置都正常,试试路由器的MAC地址克隆功能,把电脑网卡的MAC复制过去)
嫌麻烦就把你洗衣机的型号或断皮带,拿到维修点去买1个,自己装上就可以了(要有个小扳手把螺丝放松,装上皮带,拉紧再紧固螺丝)。
目前我们的生活水平必竟非同以往.吃得好休息得好,能量消耗慢,食欲比较旺盛,活动又少,不知不觉脂肪堆积开始胖啦。                                                                                         减肥诀窍:一.注意调整生活习惯,二。科学合理饮食结构,三。坚持不懈适量运动。
   具体说来:不要暴饮暴食。宜细嚼慢咽。忌辛辣油腻,清淡为好。多喝水,多吃脆平果青香焦,芹菜,冬瓜,黄瓜,罗卜,番茄,既助减肥,又益养颜,两全其美!
有减肥史或顽固型症状则需经药物治疗.
如有其他问题,请发电子邮件:jiaoaozihao53@ .或新浪QQ: 1
要有经营场所,办理工商登记(办理卫生许可),如果觉得有必要还要到税务局买定额发票,不过奶茶店一般人家消费是不会要发票的巴,要买设备,要联系供应商备一些原料,就好啦,没啥难的,不过要赚钱的话就得选好开店地段。
办理手续的程序(申领个体执照):
1、前往工商所申请办理
2、根据工商所通知(申请办理当场就会给你个小纸条)前往办理名称预核
3、拿到名称预核通知书,办理卫生许可证(前往所在地卫生监督所办理)
4、拿着名称预核通知书和卫生许可证前往工商所核发营业执照。
考虑是由于天气比较干燥和身体上火导致的,建议不要吃香辣和煎炸的食物,多喝水,多吃点水果,不能吃牛肉和海鱼。可以服用(穿心莲片,维生素b2和b6)。也可以服用一些中药,如清热解毒的。
确实没有偿还能力的,应当与贷款机构进行协商,宽展还款期间或者分期归还; 如果贷款机构起诉到法院胜诉之后,在履行期未履行法院判决,会申请法院强制执行; 法院在受理强制执行时,会依法查询贷款人名下的房产、车辆、证券和存款;贷款人名下没有可供执行的财产而又拒绝履行法院的生效判决,则有逾期还款等负面信息记录在个人的信用报告中并被限制高消费及出入境,甚至有可能会被司法拘留。
第一步:教育引导
不同年龄阶段的孩子“吮指癖”的原因不尽相同,但于力认为,如果没有什么异常的症状,应该以教育引导为首要方式,并注意经常帮孩子洗手,以防细菌入侵引起胃肠道感染。
第二步:转移注意力
比起严厉指责、打骂,转移注意力是一种明智的做法。比如,多让孩子进行动手游戏,让他双手都不得闲,或者用其他的玩具吸引他,还可以多带孩子出去游玩,让他在五彩缤纷的世界里获得知识,增长见识,逐渐忘记原来的坏习惯。对于小婴儿,还可以做个小布手套,或者用纱布缠住手指,直接防止他吃手。但是,不主张给孩子手指上“涂味”,比如黄连水、辣椒水等,以免影响孩子的胃口,黄连有清热解毒的功效,吃多了还可导致腹泻、呕吐。
合肥政务区网络广告推广网络推广哪家公司比较好 一套能在互联网上跑业务的系统,被网络营销专家赞为目前最 有效的网络推广方式!
1、搜索引擎营销:分两种SEO和PPC,即搜索引擎优化,是通过对网站结构、高质量的网站主题内容、丰富而有价值的相关性外部链接进行优化而使网站为用户及搜索引擎更加友好,以获得在搜索引擎上的优势排名为网站引入流量。
良工拥有十多位资深制冷维修工程师,十二年生产与制造经验,技术力量雄厚,配有先进的测试仪器,建有系列低温测试设备,备有充足的零部件,包括大量品牌的压缩机,冷凝器,蒸发器,水泵,膨胀阀等备品库,能为客户提供迅捷,优质的工业冷水机及模温机维修和保养。
楼主,龙德教育就挺好的,你可以去试试,我们家孩子一直在龙德教育补习的,我觉得还不错。
成人可以学爵士舞。不过对柔软度的拒绝比较大。  不论跳什么舞,如果要跳得美,身体的柔软度必须要好,否则无法充分发挥出理应的线条美感,爵士舞也不值得注意。在展开暖身的弯曲动作必须注意,不适合在身体肌肉未几乎和暖前用弹振形式来做弯曲,否则更容易弄巧反拙,骨折肌肉。用静态方式弯曲较安全,不过也较必须耐性。柔软度的锻炼动作之幅度更不该超过疼痛的地步,肌肉有向上的感觉即可,动作(角度)保持的时间可由10馀秒至30-40秒平均,时间愈长对肌肉及关节附近的联结的组织之负荷也愈高。
正在加载...
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
查找子窗口的时候有时会遇到多个子窗口的类名和标题相同的情况,这个时候如何查找准确查找子窗口呢?这里演示一种子窗口相对父窗口的位置不变的情况下查找子窗口的方法。 361度窗口插件7.30版开始增加了根据窗口位置筛选窗口句柄的函数FilterWindowPos,FilterWindowPos并不能直接查找窗口,而是对EnumWindowA和EnumWindowT返回的窗口句柄数组进行进一步的筛选。FilterWindowPos有两种筛选模式,第一种是用指定坐标是否在窗口区域内来筛选,第二种是用窗口左上角坐标来筛选。第一种模式易用,第二种模式精确(可以防止窗口重叠导致筛选的结果有多个)。FilterWindowPos的参数及返回值说明如下: 参数: 参数1 窗口句柄数组:长整型数数组。窗口句柄的数组,可以通过本插件中的EnumWindowA函数或EnumWindowT函数获得。 参数2 窗口句柄:长整型数。要筛选的所有窗口的父窗口或者祖先窗口的窗口句柄,取0时用屏幕坐标筛选窗口句柄。 参数3 横坐标:长整型数。参数2的窗口客户区横坐标,参数2取0时为屏幕横坐标。 参数4 纵坐标:长整型数。参数2的窗口客户区纵坐标,参数2取0时为屏幕纵坐标。 参数5 模式:长整型数。取0时,筛选的是参数3和参数4的坐标在窗口区域内的窗口句柄;取1时,筛选的是参数3和参数4的坐标是窗口左上角的窗口句柄。 返回值: 长整型数数组。返回符合条件的窗口句柄数组,无符合条件的窗口句柄和失败时返回的是大小为0的一维数组。
361度窗口插件中的给线程传递数据的函数PostThreadData和RecvThreadData是向队列发送数据和从队列接收数据,所以可以给一个线程收发多个数据。通常队列里能放的数据数量是有限的,这里也一样,放一个数据进去队列里就多了一个数据,取一个数据出来队列里就少了一个数据,满了就放不进去了,或者把最先放进去的覆盖了。队列的规则是先进先出,也就是说,如果向一个队列放进了多个数据,从队列中取出数据的顺序和放进数据的顺序相同,就像生活中的排队买票一样。给子线程传递过个数据的例子如下:For 3 '创建线程 tid = BeginThread(MyThread) '给一个线程发送三个线程数据,第一个是线程ID,第二个、第三个分别是字符串“数据1”和“数据2” Call Plugin.WndEx7_20.PostThreadData(tid, tid, 0) Call Plugin.WndEx7_20.PostThreadData(tid, "数据1", 0) Call Plugin.WndEx7_20.PostThreadData(tid, "数据2", 0) Next Sub MyThread() '接受当前线程的数据,用循环等待保证数据接收到,由于要接收三个数据,所以三次循环等待接收 While Plugin.WndEx7_20.RecvThreadData(data1) && 0 Delay 50 Wend While Pl
在目标窗口或者桌面中创建按钮,点击按钮随时控制目标的文本显示区域的显示和隐藏,可使脚本更人性化,想看信息的时候让它显示,不想看的时候让它隐藏,不需要切换到脚本界面中进行设置。361度窗口插件创建的按钮可以绑定一个或者多个窗口,控制被绑定窗口的显隐。根据普通按钮和切换按钮的区别,绑定窗口也有差异。这里对普通按钮和切换按钮绑定文本显示区域各演示一个例子。为了方便运行演示的脚本,这里是将按钮和文本显示区域创建在桌面中的,可以传递个窗口句柄给它们,让它们创建在窗口中。普通按钮例子:'创建文本显示区域 hwndText1 = Plugin.WndEx7_20.CreateTextRgn(0, 10, 10, 200, 15) '设置文本显示区域样式为:背景透明,颜色橙色,字体为宋体、加粗,文字高度12 Call Plugin.WndEx7_20.SetTextRgnStyle(hwndText1, "TRP", "007FFF", "宋体", 12, 1, 0, 0) '设置文本显示区域文本,发送字符串给文本显示区域 Call Plugin.WndEx7_20.SendTextRgnString(hwndText1, "脚本运行中") '创建文本显示区域 hwndText2 = Plugin.WndEx7_20.CreateTextRgn(0, 10, 30, 200, 80) '设置文本显示区域样式为:背景透明,紫色,字体为宋体,文字高度12,滚动显示 Call Plugin.WndEx7_20.SetTextRgnStyle(hwndText2,
按键精灵脚本一般是子线程向父线程传递数据,但有时父线程需要获得子线程的工作结果,比如多线程找图。这里讲的是两个向父线程传递数据的方法。方法一,用按键精灵的全局变量或者环境变量保存父线程ID,子线程通过父线程ID向父线程法送数据:'声明获得当前线程ID的API,按键精灵自带的GetThreadID目前不能获得主线程的线程ID Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long Global MainTid '获得当前线程ID并将起俯值给全局变量 MainTid = GetCurrentThreadId() For 3 '创建线程 Call BeginThread(MyThread) Next Do '接受线程数据,当返回值是0时收到数据 If Plugin.WndEx7_20.RecvThreadData(data)=0 Then MsgBox data,4096 End If Delay 50 Loop Sub MyThread() '发送线程数据给脚本主线程 'Timer是按键精灵标准VBS命令说明中没记录的vbs函数,功能:返回午夜12时以后已经过去的秒数 Call Plugin.WndEx7_20.PostThreadData(MainTid,"线程" & CStr(GetThreadID()) & ":时间" & CStr(Timer()),0) End Sub
按键精灵写脚本的时候,有时会碰到要给子线程传递数组的情况。看到按键精灵论坛有人为了解决这个问题把数组转换成字符串,子线程取到数据后又转换回来,为了转换回来能方便地分割字符串,通常用个分割字符串的字符把数组元素连接起来,这样转换回数组的时候进行分割,但这样有个缺点:数组元素中不能包含分割字符串的字符。虽然一般用很少用的字符来做分割字符串的字符,但很多时候不能保证数组元素中不包含这个字符。361度窗口插件中线程间传递数据的函数PostThreadData和RecvThreadData可以传递多种数据类型的数据,其中包括数组,例子如下:Dim data '创建数组并赋值 data=Array("data1","data2","data3") '创建线程 tid = BeginThread(MyThread) '发送线程数据,这里发送的是数组 Call Plugin.WndEx7_20.PostThreadData(tid, data, 0) Sub MyThread() Dim str Do '接收线程数据 If Plugin.WndEx7_20.RecvThreadData(data) = 0 Then Exit Do End If Delay 50 Loop '判断是否是数组 If IsArray(data) Then '连接数组元素为字符串 str=Join(data,",")
大家在写脚本的过程中可能碰到过想在目标窗口中保存字符串数据的情况,这次展示的脚本例子就是解决这个问题的。给目标窗口设置附加数据有多种方法:最简单的是修改目标窗口的标题,但这个方法很暴力,不但影响用户体验,而且可能被目标进程监测。还可以将窗口句柄和附加数据保存在数组中,这个操作麻烦些,不支持跨线程和跨进程读取数据。也可以将窗口句柄和附加数据保存在文件中,这个多线程同时读写数据要解决冲突问题,而且不小心会留下文件垃圾。? 这里使用在目标窗口中创建子窗口,修改子窗口标题的方法来设置窗口附加数据,能比较好地解决这些问题,它可以跨线程和进程访问窗口附加数据。虽然麻烦点,但这里已经写成函数了,直接复制和调用即可。例子如下:'获得当前窗口的窗口句柄 '获得当前窗口句柄 hwnd = Plugin.WndEx7_20.GetForegroundWindow() '设置窗口附加字符串 '窗口ID的取值范围建议是1-65534,另外选择窗口ID不能是它的兄弟窗口已使用的窗口ID,否则可能有冲突。窗口ID的值可以随便设置。 Call SetWndExtraString(hwnd, 971, "窗口附加数据") '获得窗口附加字符串。窗口ID要和设置窗口附加字符串相同 MsgBox GetWndExtraString(hwnd, 971), 4096 '脚本退出时执行此过程 Sub OnScriptExit() '移除窗口附加字符串。窗口ID要和设置窗口附加字符串相同 Call RemoveWndExtraString(hwnd,971) End
这篇是对上一篇《》的补充。欲读此篇,先读前篇。在按键精灵中和多线程有关的命令有: EndScript 脚本停止运行 ExitScript 脚本退出运行 BeginThread 同时运行过程 StopThread 停止线程运行 PauseThread 暂停线程运行 ContinueThread 继续线程运行 GetThreadID 得到当前线程ID这里主要讲的是EndScript和ExitScript命令,其它的看名称就知道作用了。EndScript和ExitScript都是停止运行,但功能上有差异。EndScript:停止当前脚本线程。无论当前脚本线程是脚本主线程还是脚本子线程,使用它后都是停止当前的脚本线程,不影响其它脚本线程。ExitScript:停止当前脚本主线程和相关的子线程。无论调用它的是脚本主线程还是脚本子线程,使用他后停止当前脚本主线程和相关的子线程,不影响其它脚本主线程和相关的子线程。如果使用可重复运行多开脚本,ExitScript不会停止使用该脚本多开的所有脚本线程,只会停止和和它有关的那个主线程和相关的子线程。在按键精灵中和多线程有关的事件有: OnScriptExit 脚本停止事件子程序
这里先说主线程和子线程,对按键精灵脚本来说,启动脚本直接运行的脚本线程是主线程,由脚本中BeginThread创建的线程序是子线程序,主线程是它们的父线程。按键键精灵脚本的变量有四种:脚本全局变量、局部变量(Dim)、环境变量(DimEnv)、按键精灵全局变量(Global)。按键精灵有两种变量都叫全局变量,名称冲突了,所以这里将他们分别命名为脚本全局变量和按键精灵全局变量。按键精灵脚本的语言叫Q语言,是从vbs语言中扩展出来的。脚本全局变量是vbs语言中本来就有的,所以叫脚本全局变量。按键精灵全局变量是按键精灵的Q语言增加的,所以叫按键精灵全局变量。讲这四种变量前先要讲作用域,作用域是一个变量的有效范围,超出这个范围,就算有相同的变量名都不是同一个变量。脚本全局变量:不在函数或者过程中定义的变量是脚本全局变量。无论是否使用了Dim进行声明,作用域都是当前线程内的整个脚本。局部变量:在函数或者过程中使用Dim进行声明的变量是局部变量。如果没使用Dim进行声明默认是脚本全局变量,作用域是使用Dim进行声明的函数或者过程内(仅调用它的线程)。环境变量:在脚本中使用DimEnv声明的变量是环境变量。不能在函数或者过程中进行声明,作用域是按键精灵进程,可用于脚本线程之间传递数据。按键精灵全局变量:在脚本中使用Global声明的变量是环境变量。不能在函数或者过程中进行声明,作用域是按键精灵主线程及其子线程,可用于脚本主线程和子线程之间或者同一个主线程继承下来的子线程之间的传递数据。不同主线程及其子线程不在同一个作用域中。
361度窗口插件中的文本显示区域系列命令可以在屏幕和窗口中显示文字,相关命令有: CreateTextRgn 创建文本显示区域 SetTextRgnStyle 设置文本显示区域样式 SendTextRgnString 发送字符串给文本显示区域普通样式:'在屏幕中创建文本显示区域 hwnd = Plugin.WndEx7_20.CreateTextRgn(0, 30, 30, 100, 50) '设置文本显示区域样式 Call Plugin.WndEx7_20.SetTextRgnStyle(hwnd, "00FF00", "000000", "宋体", 12, 0, 0) '设置文本显示区域字符串 Call Plugin.WndEx7_20.SendTextRgnString(hwnd,"文本显示区域普通样式ABCDEFG" & vbCrLf & "HIJKLMNOPQRSTUVWXYZ") Do Delay 500 Loop 'OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止 Sub OnScriptExit() '关闭文本显示区域 Call Plugin.WndEx7_20.SetWindowState(hwnd, 0) End Sub 运行效果:向下滚动样式+彩色:'在屏幕中创建文本显示区域 hwnd
  这里以控制记事本为例,搜索所有记事本窗口,对每个窗口创建一个线程序,修改其窗口标题为窗口句柄和当前时间。当一个记事本为当前窗口时,可以通过“Ctrl+1”组合键暂停,可以通过“Ctrl+2”组合键恢复,实现窗口的单独控制。//根据记事本类名“Notepad”查找第一个窗口句柄 hwnd = Plugin.WndEx7_20.FindWindow("Notepad", 0) n = 0 max = 64 //创建保存窗口句柄和脚本工作线程ID的二维数组 ReDim HwndArray(1, max) Do While hwnd && 0 //创建脚本的工作线程 tid = BeginThread(MyThread) //将窗口句柄发送给指定线程 Call Plugin.WndEx7_20.PostThreadData(tid, hwnd, 0) //将窗口句柄和脚本工作线程ID保存到数组中 HwndArray(0, n) = hwnd HwndArray(1, n) = tid n = n + 1 If n & max Then max = max + 64 //数组大小不够用时扩大数组 ReDim Preserve HwndArray(1, max) End If //根据记事本类名“Notepad”查找下一个窗口句柄 hwnd = Plugin.WndE
  按键精灵通过脚本属性的可重复运行可以让一个脚本未停止时重复启动,这样可以实现脚本多开。  将脚本属性的禁止可重复运行取消实现的多开,避免了使用多线程,降低了初学者的多开难度。但是这种方法支持单独启动脚本,不支持单独暂停、恢复和停止脚本,下面的脚本通过检测键盘动作让用可重复运行实现多开的脚本也能单独暂停、恢复和停止://获得当前窗口的窗口句柄 hwnd = Plugin.WndEx7_20.GetForegroundWindow() If hwnd = 0 Then EndScript End If //创建对指定窗口的按键的检测,用于当前窗口对应脚本的暂停、恢复、和停止,“Ctrl+1”用于暂停,“Ctrl+2”用于继续,“Ctrl+3”用于停止 KeyData = Plugin.WndEx7_20.CreateKeyTrack(hwnd, "Ctrl+1|Ctrl+2|Ctrl+3", 1 Or 32) //IsPause用于保存暂停状态,True是暂停,False是继续 IsPause=False Do Do //获得按键检测的数据,根据CreateKeyTrack参数,这里返回的是按键序号,0对应的是“Ctrl+1”,1对应的是“Ctrl+2”,2对应的是“Ctrl+3” If Plugin.WndEx7_20.GetKey(KeyData, KeyNum) & 0 Then //“Ctrl+1”被按下时,GetKey获得的按键序号是0,IsPa
最后登录加载中...
this.p={b:2,ua:33, ub:'http://img.bimg.126.net/photo/cXIIzWzLO_TdSGgsdY34wQ==/2467599.jpg',us:'他', friendstatus:'none',followstatus:'unFollow',hmcon:'',aShowT:'1',guideId:6};
积分 ${data.totalScore} 分,距离下一等级还有 ${data.nextGradeNeedScore}分
心情随笔列表加载中...
this.p={b:2,n:5,r:'http://bg361.blog.163.com/blog/#m=1&c=',mset:'000',mcon:'',srk:-100};
{if defined('fl')&&fl.length>0} {list fl as x}
${x.content|xescape:x.id,x.moveFrom} ${x.publishTime|xtime}
{if x.moveFrom&&x.moveFrom=='wap'} && {/if} {if x.moveFrom&&x.moveFrom=='mobile'} && {/if}
{/list} {else} 暂无心情随笔记录! {/if}
博友列表加载中...
this.p={b:2,m:0};
发现好博客
列表加载中...
this.p={b:2,cn:12,ct:12};
列表加载中...
this.p={b:2,cn:15};
我要留言 & &
& 留言列表加载中...
this.p={b:2,nv:false,cn:5,ct:5};
& & & & & &
网易公司版权所有&&
{list x.l as y}
{/list} {/list}
{if defined('wl')} {list wl as x}{/list} {/if}}

我要回帖

更多关于 按键精灵怎么重复脚本 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信