怎么用按键精灵群发QQ信息?

如题所述

//自定义变量设置\x0d\x0aUserVar Hua1="发送的第一句话"\x0d\x0aUserVar Hua2="发送的第二句话"\x0d\x0aUserVar Hua3="发送的第三句话"\x0d\x0aUserVar Hua4="发送的第四句话"\x0d\x0aUserVar Hua5="发送的第五句话"\x0d\x0aUserVar Yanshi=1000 "发送两句话之间的时间间隔,默认1000就是1秒"\x0d\x0a//用一个变量来设置需要发送的话的内容\x0d\x0aDim Hua\x0d\x0a//发送第一句\x0d\x0aHua = Hua1\x0d\x0aCall FaSongXiaoXi()\x0d\x0aDelay Yanshi\x0d\x0a//发送第二句,以下雷同\x0d\x0aHua = Hua2\x0d\x0aCall FaSongXiaoXi()\x0d\x0aDelay Yanshi\x0d\x0aHua = Hua3\x0d\x0aCall FaSongXiaoXi()\x0d\x0aDelay Yanshi\x0d\x0aHua = Hua4\x0d\x0aCall FaSongXiaoXi()\x0d\x0aDelay Yanshi\x0d\x0aHua = Hua5\x0d\x0aCall FaSongXiaoXi()\x0d\x0aDelay Yanshi\x0d\x0aEndScript \x0d\x0a//发送消息的子程序\x0d\x0aSub FaSongXiaoXi()\x0d\x0a //填上要发的话\x0d\x0a SayString Hua\x0d\x0a Delay 100\x0d\x0a //按下Alt+S的QQ发消息热键,发送成功\x0d\x0a KeyDown 18, 1\x0d\x0a KeyPress 83, 1\x0d\x0a KeyUp 18, 1\x0d\x0aEnd Sub\x0d\x0a-------------------------------------------以上是例子-------------------------------------------------\x0d\x0a下面是我以前写过的QQ群群发,基于TM写的,TM版本忘记了,你可以参考下:\x0d\x0a\x0d\x0aCall Register\x0d\x0aiFirst = true\x0d\x0ahwnds = dm.EnumWindow(0,"","TXGuiFoundation",2+4+8+16) //获取Q群句柄\x0d\x0aCall checkQQ //检测Q群是否已经打开并且是否只打开一个Q群\x0d\x0a//dm_ret = dm.SetWindowState(hwnds, 12) //激活窗口\x0d\x0adm_ret = dm.BindWindow(hwnds,"gdi","windows","windows",0) //绑定窗口\x0d\x0aCall Plugin.Window.Size(hwnds, 600, 520) //设置窗口分辨率 \x0d\x0aDelay 500\x0d\x0adm.MoveTo 275, 60\x0d\x0aDelay 800\x0d\x0adm.LeftClick \x0d\x0aDelay 800\x0d\x0adm.MoveTo 258, 495\x0d\x0aDelay 800\x0d\x0adm.LeftClick \x0d\x0aDelay 800\x0d\x0acHwnd = Plugin.Window.Foreground()\x0d\x0aCall Plugin.Bkgnd.LeftClick(cHwnd, 22, 205)\x0d\x0aDelay 1500\x0d\x0aAtlHwnd = Plugin.Window.FindEx(cHwnd, 0, "ATL:30A4FE48", "")\x0d\x0aCall Plugin.Bkgnd.LeftClick(AtlHwnd, 60, 30)\x0d\x0aDelay 800\x0d\x0asGetColor = Plugin.Bkgnd.GetPixelColor(AtlHwnd, 2, 20)\x0d\x0aTracePrint "获取到的颜色为:" & sGetcolor\x0d\x0aDim isender , iunsender , iNum , iAdmin\x0d\x0aisender = 0 : iunsender = 0 : iNum = 0 : iAdmin = 0\x0d\x0a\x0d\x0aDo\x0d\x0a sFindcolor = Plugin.Bkgnd.FindColorEx(AtlHwnd, 0, 0, 410, 303, sGetColor, 0, 1.0) \x0d\x0a //下面这句用于分割字符串 \x0d\x0a dim MyArray \x0d\x0a MyArray = Split(sFindcolor, "|") \x0d\x0a //下面这句将字符串转换成数值 \x0d\x0a intX = Clng(MyArray(0)): intY = Clng(MyArray(1)) \x0d\x0a TracePrint "获取到颜色X坐标="& intX & ",Y坐标=" & intY \x0d\x0a Getqzc = Plugin.Bkgnd.GetPixelColor(AtlHwnd, 12, intY + 6)\x0d\x0a TracePrint "该群员管理员和群主位置的颜色参数为:" & Getqzc\x0d\x0a sFindColor = Plugin.Bkgnd.GetPixelColor(AtlHwnd, 395, 285)\x0d\x0a TracePrint sFindColor\x0d\x0a Delay 200\x0d\x0a \x0d\x0a If sFindColor = "FDF8F1" Then \x0d\x0a Call Plugin.Bkgnd.LeftDoubleClick(AtlHwnd, intX + 12, intY + 6)\x0d\x0a Delay 500 \x0d\x0a Call sender\x0d\x0a Exit Do\x0d\x0a ElseIf Getqzc = "ACD3FF" then\x0d\x0a iAdmin = iAdmin + 1\x0d\x0a // Call Plugin.Bkgnd.KeyPress(AtlHwnd, 40)\x0d\x0a TracePrint "发现管理员"\x0d\x0a Else \x0d\x0a Call Plugin.Bkgnd.LeftDoubleClick(AtlHwnd, intX + 12, intY + 6)\x0d\x0a Delay 500 \x0d\x0a Call sender\x0d\x0a End If\x0d\x0a Call Plugin.Bkgnd.LeftClick(AtlHwnd, intX + 12, intY + 6)\x0d\x0a Delay 200\x0d\x0a Call Plugin.Bkgnd.KeyPress(AtlHwnd, 40)\x0d\x0a iNum = iNum + 1\x0d\x0aLoop\x0d\x0a\x0d\x0a//--------------------------------子程序-------------------------------------\x0d\x0aSub Register //插件注册\x0d\x0a PutAttachment ".\plugin","*.dll"\x0d\x0a PutAttachment ".\plugin\dm","*.bmp"\x0d\x0a //PutAttachment ".\plugin\dm","*.txt"\x0d\x0a PutAttachment ".\plugin\dm","dm.dll"\x0d\x0a //↑PutAttachment释放附件\x0d\x0a Call Plugin.RegDll.Reg(".\plugin\dm\dm.dll")\x0d\x0a set dm = createobject("dm.dmsoft")\x0d\x0a //↑大漠·注册\x0d\x0a dm.SetPath ".\plugin\dm"\x0d\x0a //dm.SetDict 0,"zk.txt"\x0d\x0a Delay 40\x0d\x0aEnd Sub\x0d\x0aSub OnScriptExit()\x0d\x0a dm_ret = dm.UnBindWindow()\x0d\x0a MsgBox "发送完成,共执行:"&iNum&"条,忽略管理员:"&iAdmin&",实际发送:"&isender&",忽略已发送:"&iunsender\x0d\x0aEnd Sub\x0d\x0a\x0d\x0aSub checkQQ //检测是否只打开一个Q群\x0d\x0a\x0d\x0a hwnd = split(hwnds,",")\x0d\x0a If UBound(hwnd) > 0 Then \x0d\x0a MsgBox "桌面只能保留一个推广的Q群,其他的请先关闭!"\x0d\x0a EndScript\x0d\x0a ElseIf hwnds = "" Then\x0d\x0a MsgBox "请先打开一个需要群发的群再运行脚本!"\x0d\x0a EndScript\x0d\x0a End If\x0d\x0a\x0d\x0aEnd Sub\x0d\x0a\x0d\x0aSub sender\x0d\x0a Delay 1000\x0d\x0a Rem one\x0d\x0a hwnd = Plugin.Window.Foreground()\x0d\x0a hwnd = Cstr(hwnd)\x0d\x0a AtlHwnd = Cstr(AtlHwnd)\x0d\x0a If hwnd = AtlHwnd Then \x0d\x0a TracePrint "错误002"\x0d\x0a TracePrint hwnd & ":" & hwnds & "........."\x0d\x0a Delay 2000\x0d\x0a Goto one\x0d\x0a Else \x0d\x0a If iFirst = true Then\x0d\x0a Call Plugin.Window.Size(hwnd, 540,492) //设置窗口分辨率\x0d\x0a iFirst = false\x0d\x0a End If\x0d\x0a Delay 100\x0d\x0a KeyDown 17, 1 // ctrl + v 粘贴\x0d\x0a KeyPress 86, 1\x0d\x0a KeyUp 17, 1\x0d\x0a Delay 800\x0d\x0a KeyDown 18, 1 // art + s 发送\x0d\x0a KeyPress 83, 1\x0d\x0a KeyUp 18, 1\x0d\x0a\x0d\x0a Delay 500\x0d\x0a Call Plugin.Bkgnd.LeftClick(hwnd, 250,468)\x0d\x0a Delay 500\x0d\x0a isender = isender + 1\x0d\x0a End If\x0d\x0a\x0d\x0aEnd Sub
温馨提示:答案为网友推荐,仅供参考
相似回答