Call 大漠注册()

// 实例大漠插件
Set dm = createobject("dm.dmsoft")
// 以下代码把全局路径设置到了c盘根目录(设置附件的录制)
dm_ret = dm.SetPath("c:\test_game")
// 
//Hwnd = Plugin.Window.Find("Windows.UI.Core.CoreWindow", "Microsoft Edge")
//Hwnd = Plugin.Window.Find("Notepad", 0)
Hwnd = Plugin.Window.Find("Chrome_WidgetWin_1", 0)
TracePrint Hwnd
// 绑定大漠插件
dm_ret = dm.BindWindow(Hwnd, "dx", "windows", "windows", 0)
//按键命令
dm.KeyPress 65
dm_ret = dm.SetWindowSize(hwnd, 1300, 600)
Delay 500
dm.MoveWindow hwnd,0,0
// 找图命令
dm_ret = dm.FindPic(28,9,244,212,"刷新.bmp","000000",0.9,0,intX,intY)
If intX >= 0 and intY >= 0 Then
    dm.MoveTo intX, intY
    Delay 1500 
    dm.LeftDown 
    Delay 1500
    dm.LeftClick 
End If
// 设置谷歌浏览器的大小
//HwndEx = Plugin.Window.SearchEx("Chrome_WidgetWin_1",0,0)
//TracePrint "查找到符合的窗口句柄为:"& HwndEx
//Hwnd = Split(HwndEx, "|")
//If UBound(Hwnd)>=0 Then
//    i=0
//    For UBound(Hwnd)
//        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
//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
//MsgBox "查找到的父窗口句柄为:"& Hwnd  
// 抓抓工具延时截图行可以点击键盘商的PrintScrieen按键
// 找图可以一次找多张图片 先找到先返回

dm.UnBindWindow

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

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐