CE递归遍历主界面控件
local fnGetSpace = function(n)
local ret = ""
for i = 1,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 = 0,ui:getControlCount() - 1 do
enum_ui(ui:getControl(i),level + 1)
end
end
local ui = getMainForm()
local level = 0
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 = 0,addr_count - 1 do
local found_addr = getAddress(found_list.foundList:GetAddress(i))
print(found_addr)
end
|
请发表评论