CE递归遍历主界面控件

local fnGetSpace = function(n)
local ret = ""
for i = ,n do
ret = (ret .. "-")
end
return ret
end enum_ui = function(ui,level)
if not ui then return end
print(fnGetSpace(level) .. ui:getClassName() .. ":" .. ui:getName())
if not ui.getControlCount then return end
for i = ,ui:getControlCount() - do
enum_ui(ui:getControl(i),level + )
end
end local ui = getMainForm()
local level =
enum_ui(ui,level)

结果:

TMainForm:MainForm
-TSplitter:Splitter1
-TPanel:Panel1
--TAddresslist:
---TTreeviewWithScroll:
---THeaderControl:
-TPanel:Panel4
--TLabel:Label7
--TSpeedButton:advancedbutton
--TSpeedButton:CommentButton
-TPanel:Panel5
--TLabel:ProcessLabel
--TLabel:foundcountlabel
--TLabel:ScanText
--TLabel:lblScanType
--TLabel:lblValueType
--TSpeedButton:LoadButton
--TSpeedButton:SaveButton
--TLabel:Label6
--TSpeedButton:SpeedButton2
--TSpeedButton:SpeedButton3
--TLabel:Label5
--TLabel:Label38
--TLabel:Label57
--TLabel:Label59
--TLabel:Label61
--TCheckBox:cbSpeedhack
--TButton:btnNewScan
--TCheckBox:cbUnicode
--TGroupBox:gbScanOptions
---TPanel:Panel2
----TCheckBox:cbCopyOnWrite
----TCheckBox:cbWritable
----TCheckBox:cbExecutable
---TPanel:Panel3
----TMemo:FromAddress
----TMemo:ToAddress
----TLabel:Label2
----TLabel:Label1
---TPanel:Panel6
----TCheckBox:cbFastScan
----TEdit:edtAlignment
----TCheckBox:cbPauseWhileScanning
----TRadioButton:rbfsmLastDigts
----TRadioButton:rbFsmAligned
--TButton:btnNextScan
--TComboBox:ScanType
--TComboBox:VarType
--TButton:btnMemoryView
--TButton:btnAddAddressManually
--TProgressBar:ProgressBar1
--TCheckBox:cbHexadecimal
--TButton:UndoScan
--TRadioButton:rbBit
--TRadioButton:rbDec
--TEdit:scanvalue
--TCheckBox:cbCaseSensitive
--TPanel:Panel7
---TSpeedButton:sbOpenProcess
--TPanel:pnlFloat
---TRadioButton:rt3
---TRadioButton:rt1
---TRadioButton:rt2
--TCheckBox:cbUnrandomizer
--TButton:Button2
--TButton:Button4
--TPanel:LogoPanel
---TImage:Logo
---TSpeedButton:SettingsButton
--TPanel:Panel14
---TLabel:Label54
---TLabel:lblSH0
---TLabel:lblSH20
---TButton:btnSetSpeedhack2
---TEdit:editSH2
---TTrackBar:tbSpeed
--TLabel:lblcompareToSavedScan
--TLabel:Label3
--TListView:Foundlist3
---TCustomListViewEditor:
--TCheckBox:cbFloatSimple

遍历找到的地址:

local found_list = getCurrentMemscan()
local addr_count = found_list.foundList:getCount()
for i = ,addr_count - do
local found_addr = getAddress(found_list.foundList:GetAddress(i))
print(found_addr)
end

CE lua脚本的更多相关文章

  1. 在redis中使用lua脚本让你的灵活性提高5个逼格

    在redis的官网上洋洋洒洒的大概提供了200多个命令,貌似看起来很多,但是这些都是别人预先给你定义好的,但你却不能按照自己的意图进行定制, 所以是不是感觉自己还是有一种被束缚的感觉,有这个感觉就对了 ...

  2. 《转》Unity3D研究院编辑器之创建Lua脚本模板

    Unity里能创建 c#脚本模板,但是如果我想创建Lua脚本模板怎么办呢?拓展一下编辑器吧. 设置一下Lua脚本的模板地址 :  Assets/Editor/Lua/Template/lua.lua ...

  3. StackExchange.Redis加载Lua脚本进行模糊查询的批量删除和修改

    前言 使用StackExchange.Redis没有直接相关的方法进行模糊查询的批量删除和修改操作,虽然可以通过Scan相关的方法进行模糊查询,例如:HashScan("hashkey&qu ...

  4. 使用Lua脚本语言开发出高扩展性的系统,AgileEAS.NET SOA中间件Lua脚本引擎介绍

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  5. redisTemplate的spring配置以及lua脚本驱动

    最近在使用spring-data-redis的redisTemplate,所以写篇使用记录吧. 1.不用多说,使用maven引入相关依赖,因为项目已经引入其他的 <dependency> ...

  6. redis原子性读写操作之LUA脚本和watch机制

    最近在开发电商平台的子系统--储值卡系统,系统核心业务涉及到金额消费以及库存控制,因此为了解决建立在内存上高并发情况下的事务控制,使用了spring封装的RedisTemplate执行lua脚本进行原 ...

  7. online_jf.lua --累计在线时间领取物品(积分)的lua脚本

    原作者: ayase 8-27修正 修复首次使用后的红字不需要额外进数据库导入计分表,这lua全自动生成 ----------------------------------------------- ...

  8. Redis执行Lua脚本的情况

    第一个测试: 往Redis里面存入1000个Hash,每个Hash里面有100个元素(Key 0-99,值是Key^2). PHP代码,执行33s左右 <?php $redis = new Re ...

  9. C程序与Lua脚本相互调用

    Lua脚本是一种可用于C程序开发/测试的工具,本篇介绍一下C程序与Lua脚本如何进行相互调用,更加详细的操作参见<Programing in Lua>.本文分为3个部分:1.Windows ...

随机推荐

  1. ARouter 路由 组件 跳转 MD

    目录 简介 支持的功能 典型应用 简单使用 进阶使用 更多功能 其他 Q&A Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs bai ...

  2. HTML5 File API 全介绍

    在 HTML5 File API 出现之前,前端对于文件的操作是非常有局限性的,大多需要配合后端实现.出于安全角度考虑,从本地上传文件时,代码不可能获取文件在用户本地的地址,所以纯前端不可能完成一些类 ...

  3. ODBC更新记录集提示”记录集为只读“

    创建的ODBC应用程序默认的记录集不具有只读属性,但是再更新记录表时会提示”记录集为只读“,这是为什么呢? 今天看书找到了答案: 因为MFC中的数据库类不支持需要连接两个或者多个表的记录集更新,如果选 ...

  4. 腾讯下载的视频转换为MP4

    第一步:首先找到腾讯视频下载设置中的缓存目录,如下图 打开这个目录,找到最近的,就是刚才你下载的文件夹 打开最近的文件夹,如下图,copy里面的内容到D盘的qlv目录中 第二部:进入D盘的qlv目录, ...

  5. 数据库迁移工具Navicat Premium之OracleToMysql

    一.问题 由于工作需要,需要把业务库的数据库从oracle签到mysql,免费开源 二.解决办法 2.1:ETL单个对象进行转移(最笨的办法,所以抛弃掉了) 2.2:使用Navicat Premium ...

  6. PKU-2104-K-th Number

    K-th Number Time Limit: 20000MS   Memory Limit: 65536K Total Submissions: 36045   Accepted: 11522 Ca ...

  7. sourceTree 基础使用

    https://www.cnblogs.com/tian-xie/p/6264104.html

  8. Asp.NET websocket,Asp.NET MVC 使用 SignalR 实现推送功能一(Hubs 在线聊天室)

    ASP .NET SignalR 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信.什么是实时通信的Web呢?就是让客户端(Web页面)和服务器端可以互相通知消息及 ...

  9. 整理收集49条JQuery代码小结

    1. 如何创建嵌套的过滤器 . 代码如下: //允许你减少集合中的匹配元素的过滤器, //只剩下那些与给定的选择器匹配的部分.在这种情况下, //查询删除了任何没(:not)有(:has) //包含c ...

  10. 带你走进EJB--将EJB发布为Webservice(4)

    接下来的我们将会自定义一个对象,然后看看EJB是如何对复杂的参数发布成WebService的. 代码如下:在第一个版本的基础之上加上增加用户的方法,参数为User. package com.tgb.e ...