- 4
- 0
- 约4.39千字
- 约 6页
- 2017-08-05 发布于湖北
- 举报
脚本开发教程:按键多线程脚本启动指定窗口来源:按键学院 【按键精灵】上一期内容中,我们说到了,多线程多开脚本的实现方法。在例子中,我们点击QUI上的一键启动按钮,开启多个窗口,每个窗口对应一个线程。那有同学问了,不想一键启动怎么办? 想要点击一个窗口按下启动热键就启动一个窗口,要如何实现呢?我们一起来看看要怎么实现~我们用记事本来做例子。实现功能:?1、点击记事本窗口按下f7之后,启动窗口大小渐变线程。每格半秒递增窗口的大小。?2、点击记事本窗口按下f8之后, 关闭窗口所对应的线程。按F7启动线程1、使用?waitkey?(等待按任意键 命令),判断是否按下F7。?F7的按键码=118代码如下:?? ????? ?? ?? ?? ?Key = WaitKey()If key = 118 Then?//执行后续代码End If? ?? ?2、使用MousePoint (得到鼠标指向的窗口句柄 命令),获取窗口句柄??。获取窗口句柄之后,我们还需要做一个判断,判断当前获取的窗口是不是要绑定的窗口。? ???如果要绑定的游戏的窗口标题是变化的,我们就判断它的类名。类名不一样的话就重新等待按下F7键,重新获取鼠标指向的窗口句柄。? ??记事本的类名=“Notepad”? ?? ?? 代码如下:Do Key = WaitKey() ///////////按下了F7启动线程按钮/////////////// If key = 118 Then //////获取窗口类名,如果类名不是记事本的类名,则退出循环,重新等待按键////////////hwnd = Plugin.Window.MousePoint() sClass = Plugin.Window.GetClass(Hwnd) If sclass Notepad Then Exit Do End IfEnd ifLoop启动线程,将窗口句柄和线程id记录到ini文件中。启动线程之后,为了提示线程是否启动,修改记事本的窗口标题为线程启动成功? ??另外:气泡提示、屏幕输出等方式都能起到提示的作用。? ?修改了标题之后,将窗口句柄和线程id记录到ini文件中。? ??为什么要用ini文件记录呢?环境变量不是更方便吗?? ???一般情况下,环境变量确实方便多了,但是当多个脚本整合到同一个小精灵的时候,环境变量相同就会产生干扰。而且,脚本退出之后环境变量会清空,如果我们二次开启脚本还需要使用到上一次的窗口句柄,环境变量是不能实现的。Call Plugin.File.WriteINI(窗口句柄, hwnd, hwnd, C:\记录.ini)//记录窗口句柄Call Plugin.File.WriteINI(线程ID, hwnd, 线程ID, C:\记录.ini)//记录线程id?这里记录线程id的时候,把“线程id”小节名下的键值名称设置为窗口句柄,以便于后面结束线程时,根据当前鼠标指向窗口的句柄,找到ini记录里对应的线程id。? ?? ?? ?? ?? ?? ?将线程id记录到ini文件之前,我们需要先判断下当前所获取到的窗口句柄,是否之前已经启动过线程,用当前的窗口句柄值在ini文件中找对应的线程id, 如果返回值不为空则说明该窗口之前启动过线程,关闭掉线程。(如果不关闭之前开启的线程,会造成一个窗口重复启动多个线程的情况,浪费cpu资源。)代码如下:线程ID = BeginThread(大小)//启动线程call Plugin.Window.SetText(hwnd,线程启动成功!) //修改标题提示绑定成功 Call Plugin.File.WriteINI(窗口句柄, hwnd, hwnd, C:\记录.ini) //记录窗口句柄xc = Plugin.File.readINI(线程ID, hwnd, C:\记录.ini)//获取线程id,看看是不是空的,如果不是空的,说明此窗口绑定过线程,关闭线程 If xc Then StopThreadxcEnd IfCall Plugin.File.WriteINI(线程ID, hwnd, 线程ID, C:\记录.ini)//记录线程id?? ?按下F8结束线程判断按下的键是否是F8,如果是,则获取鼠标指向窗口的窗口句柄。判断ini文件中线程id的记录,是否有该窗口句柄对应的线程id,有的话,则停止此线程,没有则提示该窗口没有启动过线程。?代码如下:Do If key = 119 Then
您可能关注的文档
- 工业钢制斜梯、直梯、栏杆、平台标准概论.docx
- 大工14秋《土木工程概论》在线测试2资料.doc
- 猪舍设计之一.docx
- 第4章 本公司弱电施工标准.docx
- 宿迁职称改革职称论文发表钢管砼柱节点施工论文选题题目.docx
- 壁 纸 异 常 处 理.doc
- 药物制剂工考试复习资料.docx
- 第02讲- 残疾人卫生间设计标准.doc
- 洪湖论文网代理发表职称论文发表超高层剪力墙结构结构设计超限分析论文选题题目.docx
- 防尘水幕安装措施.doc
- 山西天一大联考2025-2026学年高二上学期期末学情监测语文试题(试卷+解析).docx
- 山西忻州部分学校2025-2026学年高一上学期2月质量检测数学试题(人教B版)(试卷+解析).docx
- 山西运城市2025-2026学年高二第一学期期末调研测试数学试题(试卷+解析).docx
- 陕西省榆林市榆阳区2025-2026学年八年级上学期期末地理试题(试卷+解析).docx
- 陕西西安市碑林区2025-2026学年度第一学期期末八年级生物试题(试卷+解析).docx
- 四川省广元市苍溪县2025-2026年八年级上学期期末道德与法治试题(试卷+解析).docx
- 江苏泰州市姜堰区2025-2026学年七年级上学期1月期末数学试题(试卷+解析).docx
- 江苏省扬州市邗江区2025-2026学年九年级上学期期末考试化学试题(试卷+解析).docx
- 江西上饶市铅山县2025-2026学年第一学期期末考试八年级数学试题(试卷+解析).docx
- 江苏扬州市高邮市2025-2026学年度第一学期期末学业质量监测试题九年级英语(试卷+解析).docx
最近下载
- K72 430麻溪大桥(加宽)施工方案方案.docx VIP
- 专题02 30天熟记中考课标1600词(Day 7~Day 12)(知识清单)(背诵版).docx VIP
- 成人留置导尿的护理及并发症处理团体标准.docx VIP
- 米家小米智能门锁 E30使用说明书.pdf
- 贵州省贵阳市2025年中考英语真题试题.docx VIP
- 精密零部件的精磨与超精密加工技术方案.doc VIP
- 2025年广播电视播音员主持人资格考试播音业务专项真题卷及答案.docx VIP
- 部编版四年级下册语文日积月累和古诗词(完美打印版).pdf VIP
- 精密和超精密加工技术主要章节课件.ppt VIP
- 中小学教师专业发展调查问卷.doc VIP
原创力文档

文档评论(0)