按键精灵多窗口响应(转载)

 Call 注册大漠
Dimenv 环境变量句柄
//环境变量,线程里面要用到.要定义为环境变量
ID句柄字符串 = ""
//****************************** 检测按键,动作 ***************************************
do
    Call Plugin.Msg.Tips("按Insert键绑定,按Delete键解绑")
    Key = WaitKey()
    //  等待用户按任何键
    //  下面是Insert键,绑定鼠标指向的窗口的线程
    If Key = 45 Then 
        环境变量句柄 = dm.GetMousePointWindow()
        //      鼠标指向的窗口  
        //   先判断,这个句柄是否在绑定.如果绑定过.不再重复绑定这个窗口
        位置 = Instr(ID句柄字符串, 环境变量句柄)
        //Instr函数,作用是:返回"环境变量句柄"在 "ID句柄字符串"中 第一次出现的位置。没出现就是位置=0
        //      如果位置=0 就绑定,预防重复绑定  
        TracePrint 位置
        TracePrint ID句柄字符串
        If 位置 = 0 Then 
            //        
            线程ID=BeginThread(多线程)
            //      多线程  
            //  按一次Home键,就绑定一个窗口多开 
            句柄 = CStr(环境变量句柄)
            ID = CStr(线程ID)
            //      CStr函数是把整数转换成字符串类型
            ID句柄字符串 = 句柄 + "|" + ID + "|" + ID句柄字符串
            //        
            Call Plugin.Msg.Tips("已绑定,一个窗口")
            //
        Else 
            Call Plugin.Msg.Tips("窗口已经绑定过了,请不要重复绑定")
            Delay 2500
        End If
        //      
        //  
        //########################################################     
        //  下面是按Delete键,停止鼠标指向的窗口的线程
    ElseIf  Key = 46 Then 
        鼠标指向的句柄 = dm.GetMousePointWindow()
        //        TracePrint ID句柄字符串
        位置 = Instr(ID句柄字符串, 鼠标指向的句柄)
        //Instr函数,作用是:返回"环境变量句柄"在 "ID句柄字符串"中 第一次出现的位置。没出现就是位置=0
        //      如果位置=0 证明这个窗口当前没有绑定,预防没绑定就解绑 
        TracePrint 位置
        TracePrint ID句柄字符串
        If 位置 > 0 Then 
            数组 = Split(ID句柄字符串, 鼠标指向的句柄)
            ID = 数组(1)
        
            数组2 = Split(ID, "|")
            ID2 = 数组2(1)
            //        TracePrint ID2
            StopThread ID2
            //   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    
            //    下面是把停止的线程的ID和句柄,从ID句柄字符串去掉
            TracePrint ID句柄字符串
            删除数组 = Split(ID句柄字符串, 鼠标指向的句柄)
            左边 = 删除数组(0)
            ID3= ID2+"|"
            删除数组2 = Split(ID句柄字符串, ID3)
            右边 = 删除数组2(1)
            ID句柄字符串 = 左边 + 右边
            TracePrint ID句柄字符串
            //        
            //    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    

Call Plugin.Msg.Tips("已解绑,一个窗口")
        Else 
            Call Plugin.Msg.Tips("窗口都没绑定过,你解绑什么嗯,想下标越界么")
            Delay 2500
        End If
    End If
    Delay 1500
    //  适当延迟,避免连按键  
    Call Plugin.Msg.Tips("")
Loop 
//
//
//****************************** 多线程程序 ***************************************
Sub 多线程
    set dm = createobject("dm.dmsoft")
    //↑创建“一个对象”
    //    dm_ret = dm.SetDict(0,"c:\test_game\dm_soft.txt")
    //字库
    Call 绑定()
    //下面是你要编写的程序    
    Do 
        dm. KeyPress  81
        //  输入文字Q
        //
        Delay 1000
    Loop 
End Sub
//
//
//
//****************************** 注册大漠 ***************************************
sub 注册大漠
    need_ver = "3.1225B"
    PutAttachment "c:\test_game","*.*"
    PutAttachment ".\Plugin" ,"RegDll.dll"
    Call Plugin.RegDll.Reg("c:\test_game\dm.dll") 
    set dm = createobject("dm.dmsoft")
    ver = dm.Ver()
    if ver <> need_ver then
        set dm = nothing
        set ws=createobject("Wscript.Shell")
        ws.run "regsvr32 c:\test_game\dm.dll /s"
        set ws=nothing
        Delay 1200  
        set dm = createobject("dm.dmsoft")
        ver = dm.Ver()
        if ver <> need_ver then
            messagebox "插件版本错误,当前使用的版本是:"&ver&",插件所在目录是:"&dm.GetBasePath()
            messagebox "请关闭程序,重新打开本程序再尝试"
            endscript
        end if
    end if
    //上面是注册大漠
    //    dm_ret = dm.SetDict(0, "c:\test_game\dm_soft.txt")
    //字库 
End Sub
Sub 绑定()
    hwnd = 环境变量句柄
    dm_ret = dm.BindWindow( hwnd, "gdi2", "windows", "windows",0)
    //绑定窗口
    //
    If dm_ret=0 Then
        //判断上面是否获取到句柄
        MessageBox "错误;请把鼠标移到游戏窗口内,再启动脚本"
    End If
    //    dm.DownCpu 50  
    dm_ret = dm.SetPath("c:\test_game\")
    //设置全局路径,设置了此路径后,所有接口调用中,相关的文件都相对于此路径. 比如图片,字库等.< /SPAN > 
    //设定附件的路径,以后找图命令里面就没必要添加路径了 
End Sub
Sub OnScriptExit()()
    dm.UnBindWindow
End Sub


本文来自http://zhidao.baidu.com/link?url=Q1auI0dOea8-sOpSKmgUA6zwe66QZl3NZY9PvkYLq3m8hbLe5bDLm3nbRYpmnNweIBlQmcqJL4f2lIOQIs8LB_
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值