找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8326|回复: 16

[教程源码] 中控系统模板

[复制链接]

8

主题

34

回帖

52

积分

按键电脑&手机班学员

鲜花
0
猫粮
179
发表于 2019-4-19 22:30:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×



这里是成品链接,自己带假 去广告功能




[按键精灵] 纯文本查看 复制代码
Global TaskID, ArrData(99, 5)

EndScript



Sub StartTask()
    Dim HwndArr,i,HwndButton,HwndEx,HwndButtonEx
    RunApp "Notepad.exe"
    For 10
        HwndArr = Plugin.WndEx7_71.EnumWindowA(0, 0, "Notepad", 16)
        If UBound(HwndArr) > - 1  Then 
            For i = 0 To UBound(HwndArr)
                HwndButton = Plugin.WndEx7_71.EnumWindowA(HwndArr(i), 0, "361DuButtonClass9", 4)
                If Ubound(HwndButton) = - 1  Then 
                    '假设这个窗口是新的
                    HwndButtonEx = Plugin.WndEx7_71.CreateButton(HwndArr(i),0,0,0,0)
                    HwndEx = Plugin.WndEx7_71.FindWindowEx(HwndArr(i), 0, "Edit", 0)
                    Exit For
                    'Call Plugin.WndEx7_71.SetWindowText(HwndButton, "啊张工作室")				
                End If
            Next
        End If
        If HwndButtonEx > 0 Then
            Exit For
        End If       
    Next
    
    TaskID = TaskID + 1
    i = TaskID    
    ArrData(i, 0) = i
    ArrData(i, 1) = HwndEx
    ArrData(i, 2) = GetThreadID()   
    ArrData(i, 3) = "Running"
   
    Do
        If Form2.Grid1.GetItemText(i, 5) = "" Then 
            Form2.Grid1.SetItemText i, 5, "啊张工作室"
        Else 
            Call Plugin.WndEx7_71.SendString(HwndEx,Now()&" "&Form2.Grid1.GetItemText(i, 5)&" "&Chr(13))
            'Call Plugin.Bkgnd.KeyPress(HwndEx,13)
            Delay 999
            ArrData(i, 4) = ArrData(i, 4) + 1
            If ArrData(i, 4) > 100 Then 
                ArrData(i, 3) = "Finish"
                Exit Do
            End If
        End If       
    Loop
    
End Sub


Function Main(Content)
    
    MessageBox Content
End Function


























Function Include_dmsoft(reg_code)
    '首先把dm.dll和regdll.dll二个文件放入附件中,课堂上的做法是,把dm.dll放到附
    '件中,然后把regdll.dll放到按键精灵的Plugin目录下,进行.但实际情况会出现注册
    '失败无法创建大漠对象.
    FilePath = "E:\AnJian"			'定义一个文件路径
    '释放dm.dll到定义的文件路径,有时会出现创建对象失败,可以把释放附件的文件改成"*.*"
    PutAttachment FilePath&"\","dm.dll"		'释放dm.dll到定义的文件路径
    '注册大漠手册到系统
    Call Plugin.RegDll.Reg(FilePath & "\dm.dll")
    '创建大漠对象,前提是必须注册大漠成功
    Set dm = CreateObject("dm.dmsoft")
    '获取大漠的版本号
    NeedVersion = dm.ver()
    '输出大漠版本号,输出成功,说明注册和创建对象成功
    If NeedVersion = 7.1904 Then 
        TracePrint "大漠插件注册成功,所用版本为 "&NeedVersion
    End If    
    dm_ret = dm.Reg(reg_code,"0001") // abcdefg是您的注册码. 在大漠插件网站后台可以直接获取.
    if dm_ret <> 1 then
        messagebox "注册失败,返回值是:"&dm_ret
        endscript
    end if    
End Function



Event Form2.Button_CreateTask.Click
    Thd = BeginThread(StartTask)
End Event
Event Form1.LoadOver
    Dim Hwnd,HwndEx
    Hwnd = Plugin.WndEx7_71.GetWindow(Form1.Hwnd, 7)
    Call Plugin.WndEx7_71.SetWindowState(Hwnd, 3)
    '隐藏任务栏上的窗口
    OldInfo = Plugin.WndEx7_71.HideWindowFormTaskbar(hwnd)
    Delay 2000
    Form2.Show 
    HwndEx = Plugin.WndEx7_71.GetWindow(Form2.Hwnd, 7)
    '激活 窗口 2
    Call Plugin.WndEx7_71.SetWindowState(HwndEx,1)
End Event

Event Form2.LoadOver
    Form2.Grid1.RowCount = 1
End Event
Event Form2.Timer1.Timer
    Dim TimeI
    Form2.Grid1.RowCount = TaskID + 1
    For TimeI = 1 To TaskID		
        Form2.Grid1.SetItemText TimeI, 0, ArrData(TimeI,0)
        Form2.Grid1.SetItemText TimeI, 1, ArrData(TimeI,1)
        Form2.Grid1.SetItemText TimeI, 2, ArrData(TimeI,2)
        Form2.Grid1.SetItemText TimeI, 3, ArrData(TimeI, 3)
        Form2.Grid1.SetProgressBarValue TimeI, 4, ArrData(TimeI, 4)        
    Next
   
End Event
Event Form2.Button_DestroyTask.Click

    Form2.Grid1.GetSelectedRange x1, y1, x2, y2
    TracePrint x1 & " , " & y1 & " , " & x2 & " , " & y2	
    For i = x1 To x2
        StopThread (ArrData(i, 2))
        ArrData(i, 3) = "The End"
    Next

End Event

Event Form2.Button_Pause.Click
    Form2.Grid1.GetSelectedRange x1, y1, x2, y2
    TracePrint x1 & " , " & y1 & " , " & x2 & " , " & y2	
    For i = x1 To x2
        If ArrData(i, 3) = "Running" Then 
            PauseThread ArrData(i, 2)
            ArrData(i, 3) = "Pausing"
        ElseIf ArrData(i, 3) = "Pausing" Then
            ContinueThread ArrData(i, 2)
            ArrData(i, 3) = "Running"
        End If
    Next
End Event
Event Form2.UnLoad
    '在脚本关闭时,终止所有进程
    For i = 1 To TaskID
        TracePrint "终止第 " & i & " 行, 线程句柄为 " & ArrData(i, 2) & " 线程"		
        StopThread ArrData(i, 2)       	
    Next
    Hwnd = Plugin.WndEx7_71.GetWindow(Form1.Hwnd, 7)
    Call Plugin.WndEx7_71.SetWindowState(Hwnd,0)
End Event

链接:https://pan.baidu.com/s/1mpr_GosdeXgKx9ZF4DWR-g  提取码:b506  复制这段内容后打开百度网盘手机App,操作更方便哦

QQ图片20190419222835.png

中控学习 1_20194192229.Q

4.3 MB, 下载次数: 132, 下载积分: 猫粮 -2

楼主热帖
  • 打卡等级:无名新人

13

主题

24

回帖

50

积分

易语言游戏编程班学员

鲜花
0
猫粮
184
发表于 2019-4-22 20:25:03 | 显示全部楼层
这是干啥的

8

主题

34

回帖

52

积分

按键电脑&手机班学员

鲜花
0
猫粮
179
 楼主| 发表于 2019-9-1 19:29:25 | 显示全部楼层

0

主题

3

回帖

4

积分

按键电脑&手机班学员

鲜花
0
猫粮
41
发表于 2019-9-14 09:51:14 | 显示全部楼层
好流弊的样子  但是还没学到这里

8

主题

34

回帖

52

积分

按键电脑&手机班学员

鲜花
0
猫粮
179
 楼主| 发表于 2019-9-16 22:12:29 | 显示全部楼层
gufangkai 发表于 2019-9-14 09:51
好流弊的样子  但是还没学到这里

学会这个思路用来做模拟器中控脚本很有收益

0

主题

3

回帖

4

积分

按键电脑&手机班学员

鲜花
0
猫粮
41
发表于 2019-9-29 08:31:33 | 显示全部楼层
流氓免125 发表于 2019-9-16 22:12
学会这个思路用来做模拟器中控脚本很有收益

谢谢师兄的回复 我现在刚学到公共变量和区域变量 未来的路还太长o(︶︿︶)o

1

主题

2

回帖

3

积分

按键手机班学员

鲜花
0
猫粮
72
发表于 2019-11-5 22:58:19 | 显示全部楼层
师兄牛逼

0

主题

2

回帖

2

积分

学前班

鲜花
0
猫粮
7
发表于 2021-1-27 19:02:55 | 显示全部楼层
号的学习一下的啊啊啊啊啊啊啊啊

0

主题

2

回帖

2

积分

学前班

鲜花
0
猫粮
7
发表于 2021-1-27 19:06:21 | 显示全部楼层
有专门的 按键模拟器中控教学码?

8

主题

34

回帖

52

积分

按键电脑&手机班学员

鲜花
0
猫粮
179
 楼主| 发表于 2021-1-30 21:30:25 | 显示全部楼层
jwx456 发表于 2021-1-27 19:06
有专门的 按键模拟器中控教学码?

如果你不会套用, 可以和我学习易语言中控
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|紫猫编程学园

GMT+8, 2024-3-29 04:22

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表