PutAttachment ".\plugin", "RegDll.dll" PutAttachment ".\plugin\dm", "dm.dll" Plugin.RegDll.Reg (Plugin.sys.GetDir(0) + "\plugin\dm\dm.dll") Call 大漠注册() // 实例大漠插件 Set dm = createobject("dm.dmsoft") // 以下代码把全局路径设置到了c盘根目录(设置附件的录制) dm_ret = dm.SetPath("c:\test_game") // 关闭当前所有的chrome Call 关闭所有chrome() // 启动浏览器 RunApp "C:\chrome.exe.lnk" Delay 2500 //获得窗口句柄 hwnd = dm.FindWindow("Chrome_WidgetWin_1", 0) TracePrint Hwnd // 绑定大漠插件 dm_ret = dm.BindWindow(Hwnd, "dx", "windows", "windows", 0) Call 调整窗口大小() Call 发布csdn文章() Sub OnScriptExit() dm_ret = dm.UnBindWindow() set dm = nothing End Sub Function 大漠注册() // 首先打包dm.dll和RegDll.dll到附件,当然如果你还有其它资源(字库,图片等)也可以一并打包 // 这个need_ver作为本脚本需要使用的插件版本. 如果要换插件时,记得更改这个值. need_ver = "3.1233" // 插件需要用到atl系统库,有些XP精简系统会把atl.dll精简掉. 为了防止注册失败,这里手动注册一下atl.dll set ws=createobject("Wscript.Shell") ws.run "regsvr32 atl.dll /s" set ws=nothing // 释放附件>>>>>>>>>>>>>>>>>>> // 这里选择c盘的test-_game作为插件的基本目录 也就是SetPath对应的目录。所以所有资源都释放在此目录. PutAttachment "c:\test_game","*.*" // 这里要用到RegDll来注册插件,所以必须释放到Plugin. 但是切记不能把dm.dll释放到Plugin.那会导致插件失效. PutAttachment ".\Plugin" ,"RegDll.dll" // 插件注册开始>>>>>>>>>>>>>>>>>>> // 下面开始注册插件,先尝试用RegDll来注册.这里必须使用绝对路径。以免有别人把dm.dll释放在系统目录.造成版本错误. Call Plugin.RegDll.Reg("c:\test_game\dm.dll") // 这里判断是否注册成功 set dm = createobject("dm.dmsoft") ver = dm.Ver() if ver <> need_ver then // 先释放先前创建的dm set dm = nothing // 再尝试用regsvr32 来注册. 这里必须使用绝对路径。以免有别人把dm.dll释放在系统目录.造成版本错误. set ws=createobject("Wscript.Shell") ws.run "regsvr32 c:\test_game\dm.dll /s" set ws=nothing Delay 1500 // 再判断插件是否注册成功 set dm = createobject("dm.dmsoft") ver = dm.Ver() if ver <> need_ver then // 这时,已经确认插件注册失败了。 弹出一些调试信息,以供分析. messagebox "插件版本错误,当前使用的版本是:"&ver&",插件所在目录是:"&dm.GetBasePath() messagebox "请关闭程序,重新打开本程序再尝试" endscript end if end if // 插件注册结束<<<<<<<<<<<<<<<a End Function Sub 关闭所有chrome() // 设置谷歌浏览器的大小 HwndEx = Plugin.Window.SearchEx("Chrome_WidgetWin_1",0,0) TracePrint "查找到符合的窗口句柄为:"& HwndEx Hwnd = Split(HwndEx, "|") If UBound(Hwnd)>=0 Then i=0 For UBound(Hwnd) Call Plugin.Window.CloseEx(Hwnd(i)) // sText = Plugin.Window.GetText(Hwnd(i)) // TracePrint stext // If stext > "" Then // Call Plugin.Window.Size(Hwnd(i), 900, 100) // Delay 500 // Call Plugin.Window.Move(Hwnd(i), 0, 0) // Delay 1000 // End If i=i+1 Next End If Delay 2500 End Sub Sub 调整窗口大小() Call Plugin.Window.Restore(Hwnd) Delay 500 dm_ret = dm.SetWindowSize(hwnd, 1300, 700) Delay 500 dm.MoveWindow hwnd, 0, 0 Delay 2500 End Sub Sub 发布csdn文章() Call 读取word("D:\Helloworld.doc") End Sub Sub 查找图片() // 找图命令 dm_ret = dm.FindPic(28, 9, 244, 212, "刷新.bmp", "000000", 0.9, 0, intX, intY) TracePrint dm_ret If intX >= 0 and intY >= 0 Then Delay 500 dm.MoveTo intX, intY Delay 500 dm.LeftClick End If End Sub Sub 读取word(lsFileName) index = Plugin.LazyOffice.WordOpen(lsFileName, 1) Delay 3000 Plugin.LazyOffice.WordKeyPress "CTRL+A", index Delay 3000 Plugin.LazyOffice.WordKeyPress "CTRL+C", index Delay 3000 Plugin.LazyOffice.WordClose(index) End Sub //RunApp "C:\Program Files\Sigma-RT\Total Control\total_control.exe" //sRect = Plugin.Window.GetClientRect(Hwnd) //Dim MyArray //MyArray = Split(sRect, "|") //L = Clng(MyArray(0)) //T = Clng(MyArray(1)) //R = Clng(MyArray(2)) //B = Clng(MyArray(3)) //MoveTo L + 904, T + 624 //Delay 200 //LeftClick 1 // //Do // Hwndmima = Plugin.Window.Find(Notepad, "无标题 - 记事本") // If Hwndmima <> 0 Then // Exit Do // TracePrint "找到密码窗口" // End If // Delay 2000 //Loop //dm.KeyPress 65 //MsgBox "查找到的父窗口句柄为:"& Hwnd // 抓抓工具延时截图行可以点击键盘商的PrintScrieen按键 // 找图可以一次找多张图片 先找到先返回
来源:51CTO
作者:huangbangqing12
链接:https://blog.csdn.net/huangbangqing12/article/details/101223278