CE Вывод иерархии компонентов
- 
 Скрипт позволит вывести иерархию компонентов CE в виде текста. 
  
 Иерархия компонентов CE нужна для написания плагинов.Например, для ColorPicker и для смены шрифта (подобротнее об этом было где-то было в блоге). print("Controls list for CE "..getCEVersion()..'\n') function PrintComponents(obj, tabCount) local tabLine = string.rep(' ', tabCount) local componentCount = obj.ComponentCount if obj.Caption == nil then print(tabLine..obj.Name..'('..obj.ClassName..')') else print(tabLine..obj.Name..'('..obj.ClassName..') -> "'..obj.Caption..'"') end for i = 0, componentCount - 1 do local subObject = obj.Component[i] PrintComponents(subObject, tabCount + 1) end end PrintComponents(MainForm, 1)Результат Controls list for CE 7.4 MainForm(TMainForm) -> "Cheat Engine 7.4" 
 Splitter1(TSplitter)
 Panel1(TPanel) -> ""
 Panel4(TPanel) -> ""
 advancedbutton(TSpeedButton) -> "Advanced Options"
 CommentButton(TSpeedButton) -> "Table Extras"
 lblSigned(TLabel) -> "This table has been signed by
 Someone"
 Panel5(TPanel) -> ""
 ProcessLabel(TLabel) -> "No Process Selected"
 foundcountlabel(TLabel) -> "0"
 ScanText(TLabel) -> "Value:"
 lblScanType(TLabel) -> "Scan Type"
 lblValueType(TLabel) -> "Value Type"
 LoadButton(TSpeedButton) -> ""
 SaveButton(TSpeedButton) -> ""
 Label6(TLabel) -> "Found:"
 SpeedButton2(TSpeedButton) -> ""
 SpeedButton3(TSpeedButton) -> ""
 btnNewScan(TButton) -> "First Scan"
 gbScanOptions(TGroupBox) -> "Memory Scan Options"
 ScanOptionsModuleList(TComboBox)
 Panel2(TPanel) -> ""
 cbCopyOnWrite(TCheckBox) -> "CopyOnWrite"
 cbWritable(TCheckBox) -> "Writable"
 cbExecutable(TCheckBox) -> "Executable"
 Panel3(TPanel) -> ""
 Label2(TLabel) -> "Stop"
 Label1(TLabel) -> "Start"
 ToAddress(TEdit)
 FromAddress(TEdit)
 Panel6(TPanel) -> ""
 cbFastScan(TCheckBox) -> "Fast Scan"
 edtAlignment(TEdit)
 cbPauseWhileScanning(TCheckBox) -> "Pause the game while scanning"
 Panel8(TPanel) -> ""
 rbfsmLastDigts(TRadioButton) -> "Last Digits"
 rbFsmAligned(TRadioButton) -> "Alignment"
 btnNextScan(TButton) -> "Next Scan"
 ScanType(TComboBox)
 VarType(TComboBox)
 ProgressBar(TProgressBar)
 UndoScan(TButton) -> "Undo Scan"
 scanvalue(TEdit)
 Panel7(TPanel) -> ""
 sbOpenProcess(TSpeedButton) -> ""
 btnFirst(TButton) -> "First Scan2"
 btnNext(TButton) -> "Next scan 2"
 LogoPanel(TPanel) -> ""
 Logo(TImage)
 SettingsButton(TSpeedButton) -> "Settings"
 pnlScanValueOptions(TPanel) -> ""
 rbBit(TRadioButton) -> "Bits"
 rbDec(TRadioButton) -> "Decimal"
 cbHexadecimal(TCheckBox) -> "Hex"
 Panel9(TPanel) -> ""
 pnlScanOptions(TPanel) -> ""
 pnlFloat(TPanel) -> ""
 rt3(TRadioButton) -> "Truncated"
 rt1(TRadioButton) -> "Rounded (default)"
 rt2(TRadioButton) -> "Rounded (extreme)"
 cbUnicode(TCheckBox) -> "UTF-16"
 cbCaseSensitive(TCheckBox) -> "Case sensitive"
 cbFloatSimple(TCheckBox) -> "Simple values only"
 cbpercentage(TCheckBox) -> "Percent"
 cbNot(TCheckBox) -> "Not"
 cbCodePage(TCheckBox) -> "Codepage"
 cbRepeatUntilStopped(TCheckBox) -> "Repeat"
 cbLuaFormula(TCheckBox) -> "Lua formula"
 cbNewLuaState(TCheckBox) -> "Separate Lua state"
 Panel10(TPanel) -> ""
 cbUnrandomizer(TCheckBox) -> "Unrandomizer"
 cbSpeedhack(TCheckBox) -> "Enable Speedhack"
 Panel14(TPanel) -> ""
 Label54(TLabel) -> "Speed"
 lblSH0(TLabel) -> "0"
 lblSH20(TLabel) -> "500"
 btnSetSpeedhack2(TButton) -> "Apply"
 editSH2(TEdit)
 tbSpeed(TTrackBar)
 scanvalue2(TEdit)
 ScanText2(TLabel) -> "Scan Value"
 andlabel(TLabel) -> "and"
 Foundlist3(TListView)
 (TCustomListViewEditor)
 btnAddAddressManually(TButton) -> "Add Address Manually"
 btnMemoryView(TButton) -> "Memory View"
 cbCompareToSavedScan(TCheckBox) -> "Compare to first/saved scan"
 lblcompareToSavedScan(TLabel) -> "<xxxx>"
 UpdateTimer(TTimer)
 FreezeTimer(TTimer)
 PopupMenu2(TPopupMenu)
 (TMenuItem) -> ""
 (TMenuItem) -> "Add to new group"
 miAutoAssembleErrorMessage(TMenuItem) -> "<Error message here>"
 Deletethisrecord1(TMenuItem) -> "Delete this record"
 Change1(TMenuItem) -> "Change record"
 Description1(TMenuItem) -> "Description"
 Address1(TMenuItem) -> "Address"
 Type1(TMenuItem) -> "Type"
 Value1(TMenuItem) -> "Value"
 miUndoValue(TMenuItem) -> "Undo last edit"
 Smarteditaddresses1(TMenuItem) -> "Smart edit address(es)"
 Browsethismemoryregion1(TMenuItem) -> "Browse this memory region"
 miDisassemble(TMenuItem) -> "Disassemble this memory region"
 miShowAsSigned(TMenuItem) -> "Show as signed"
 Showashexadecimal1(TMenuItem) -> "Show as hexadecimal"
 miZeroTerminate(TMenuItem) -> "Zero-Terminate string"
 miShowAsBinary(TMenuItem) -> "Show as binary"
 miChangeColor(TMenuItem) -> "Change Color"
 SetHotkey1(TMenuItem) -> "Assign Hotkey"
 miSetDropdownOptions(TMenuItem) -> "Set/Change dropdown selection options"
 Freezealladdresses2(TMenuItem) -> "Toggle Selected Records"
 miFreezePositive(TMenuItem) -> "Freeze Positive"
 miFreezeNegative(TMenuItem) -> "Freeze Negative"
 Changescript1(TMenuItem) -> "Change script"
 miAsyncScript(TMenuItem) -> "Execute asynchronous"
 N5(TMenuItem) -> "-"
 miGeneratePointermap(TMenuItem) -> "Generate pointermap"
 Pointerscanforthisaddress1(TMenuItem) -> "Pointer scan for this address"
 Findoutwhataccessesthisaddress1(TMenuItem) -> "Find out what accesses this address"
 Setbreakpoint1(TMenuItem) -> "Find out what writes to this address"
 sep2(TMenuItem) -> "-"
 miDBVMFindWhatWritesOrAccesses(TMenuItem) -> "DBVM Find out what writes or accesses this address"
 sep1(TMenuItem) -> "-"
 Calculatenewvaluepart21(TMenuItem) -> "Recalculate new addresses"
 Forcerechecksymbols1(TMenuItem) -> "Force recheck symbols"
 N4(TMenuItem) -> "-"
 Cut1(TMenuItem) -> "Cut"
 Copy1(TMenuItem) -> "Copy"
 Paste1(TMenuItem) -> "Paste"
 MenuItem1(TMenuItem) -> "Select All"
 N1(TMenuItem) -> "-"
 CreateGroup(TMenuItem) -> "Create Header"
 miGroupconfig(TMenuItem) -> "Group config"
 miHideChildren(TMenuItem) -> "Hide children when deactivated"
 miBindActivation(TMenuItem) -> "Activating this entry activates it's children"
 miBindDeactivation(TMenuItem) -> "Deactivating this entry deactivates it's children"
 miRecursiveSetValue(TMenuItem) -> "Setting a value to this entry sets same value to children"
 miAllowCollapse(TMenuItem) -> "Allow left and right arrow keys to collapse and expand"
 miManualExpandCollapse(TMenuItem) -> "Manual expand/collapse"
 miAlwaysHideChildren(TMenuItem) -> "Always hide children"
 Plugins1(TMenuItem) -> "Plugins"
 foundlistpopup(TPopupMenu)
 (TMenuItem) -> ""
 miAddAddress(TMenuItem) -> "Add selected addresses to the addresslist"
 miChangeValue(TMenuItem) -> "Change value of selected addresses"
 miChangeValueBack(TMenuItem) -> "Change value of selected addresses back to previous/saved value"
 Browsethismemoryarrea1(TMenuItem) -> "Browse this memory region"
 Browsethismemoryregioninthedisassembler1(TMenuItem) -> "Disassemble this memory region"
 Removeselectedaddresses1(TMenuItem) -> "Remove selected addresses"
 Copyselectedaddresses1(TMenuItem) -> "Copy selected addresses"
 Selectallitems1(TMenuItem) -> "Select all items"
 MenuItem4(TMenuItem) -> "-"
 miShowPreviousValue(TMenuItem) -> "Show previous value column(s)"
 miOnlyShowCurrentCompareToColumn(TMenuItem) -> "Only show current "compare to" column"
 MenuItem13(TMenuItem) -> "-"
 miForgotScan(TMenuItem) -> "Reload the previous value list (Forgot value scan)"
 MenuItem14(TMenuItem) -> "-"
 miFlFindWhatAccesses(TMenuItem) -> "Find out what accesses this address"
 miFlFindWhatWrites(TMenuItem) -> "Find out what writes to this address"
 N2(TMenuItem) -> "-"
 miFoundListPreferences(TMenuItem) -> "Preferences"
 MenuItem19(TMenuItem) -> "-"
 miDisplayHex(TMenuItem) -> "Hexadecimal"
 miDisplayDefault(TMenuItem) -> "Default"
 miDisplayByte(TMenuItem) -> "Byte"
 miDisplay2Byte(TMenuItem) -> "2 Bytes"
 miDisplay4Byte(TMenuItem) -> "4 Bytes"
 miDisplay8Byte(TMenuItem) -> "8 Bytes"
 miDisplayFloat(TMenuItem) -> "Float"
 miDisplayDouble(TMenuItem) -> "Double"
 OpenDialog1(TOpenDialog)
 SaveDialog1(TSaveDialog)
 TopDisabler(TTimer)
 emptypopup(TPopupMenu)
 (TMenuItem) -> ""
 MenuItem2(TMenuItem) -> "New Item1"
 ccpmenu(TPopupMenu)
 (TMenuItem) -> ""
 Cut2(TMenuItem) -> "Cut"
 Copy2(TMenuItem) -> "Copy"
 Paste2(TMenuItem) -> "Paste"
 ActionList1(TActionList)
 actSave(TAction) -> ""
 actOpen(TAction) -> ""
 actAutoAssemble(TAction) -> "actAutoAssemble"
 actMemoryView(TAction) -> "actMemoryView"
 actOpenProcesslist(TAction) -> ""
 actOpenDissectStructure(TAction) -> "actOpenDissectStructure"
 actOpenLuaEngine(TAction) -> "actOpenLuaEngine"
 UpdateFoundlisttimer(TTimer)
 AutoAttachTimer(TTimer)
 MainMenu1(TMainMenu)
 (TMenuItem) -> ""
 (TMenuItem) -> "English"
 (TMenuItem) -> "Save scan session"
 (TMenuItem) -> "Load scan session"
 (TMenuItem) -> "-"
 File1(TMenuItem) -> "&File"
 miAddTab(TMenuItem) -> "Add scan tab"
 New1(TMenuItem) -> "Clear list"
 MenuItem8(TMenuItem) -> "Open Process"
 miOpenFile(TMenuItem) -> "Open File"
 miSaveFile(TMenuItem) -> "Save File"
 N7(TMenuItem) -> "-"
 miSave(TMenuItem) -> "Save"
 Save1(TMenuItem) -> "Save As..."
 Load1(TMenuItem) -> "Load"
 miLoadRecent(TMenuItem) -> "Load Recent"
 miSignTable(TMenuItem) -> "Sign table"
 MenuItem3(TMenuItem) -> "-"
 miSaveScanresults(TMenuItem) -> "Save current scanresults"
 miDeleteSavedScanResults(TMenuItem) -> "Delete scanresult"
 MenuItem6(TMenuItem) -> "-"
 MenuItem9(TMenuItem) -> "Generate generic trainer lua script from table"
 MenuItem5(TMenuItem) -> "-"
 MenuItem7(TMenuItem) -> "Quit"
 Edit3(TMenuItem) -> "&Edit"
 Settings1(TMenuItem) -> "Settings"
 Process1(TMenuItem) -> "&Process"
 OpenProcess1(TMenuItem) -> "Open Process window"
 CreateProcess1(TMenuItem) -> "Create Process"
 N6(TMenuItem) -> "-"
 a1(TMenuItem) -> "a"
 b1(TMenuItem) -> "b"
 c1(TMenuItem) -> "c"
 d1(TMenuItem) -> "d"
 e1(TMenuItem) -> "e"
 miTable(TMenuItem) -> "Table"
 miShowLuaScript(TMenuItem) -> "Show Cheat Table Lua Script"
 MenuItem10(TMenuItem) -> "-"
 miCreateLuaForm(TMenuItem) -> "Create form"
 miResyncFormsWithLua(TMenuItem) -> "Resynchronize forms with Lua"
 miLuaFormsSeperator(TMenuItem) -> "-"
 miAddFile(TMenuItem) -> "Add file"
 mi3d(TMenuItem) -> "D3D"
 miHookD3D(TMenuItem) -> "Hook Direct3D"
 MenuItem11(TMenuItem) -> "-"
 miSetCrosshair(TMenuItem) -> "Set custom crosshair"
 miWireframe(TMenuItem) -> "Toggle wireframe mode"
 miZbuffer(TMenuItem) -> "Toggle disabled zbuffer"
 miLockMouseInGame(TMenuItem) -> "Lock mouse in game window"
 miSetupSnapshotKeys(TMenuItem) -> "Start and configure snapshot recording"
 miSnapshothandler(TMenuItem) -> "Snapshot handler"
 ools1(TMenuItem) -> "&Tools"
 miDotNET(TMenuItem) -> ".Net"
 miGetDotNetObjectList(TMenuItem) -> "Get object list"
 miNetwork(TMenuItem) -> "Network"
 miCompression(TMenuItem) -> "Compression"
 miScanDirtyOnly(TMenuItem) -> "Scan changed regions only"
 miScanPagedOnly(TMenuItem) -> "Scan paged (physical) memory only"
 Plugins2(TMenuItem) -> "P&lugins"
 miLanguages(TMenuItem) -> "Languages"
 miHelp(TMenuItem) -> "&Help"
 Helpindex1(TMenuItem) -> "Cheat Engine Help"
 miLuaDocumentation(TMenuItem) -> "Lua documentation"
 miTutorial(TMenuItem) -> "Cheat Engine Tutorial"
 MenuItem12(TMenuItem) -> "Cheat Engine Tutorial (64-Bit)"
 MenuItem15(TMenuItem) -> "Cheat Engine Tutorial Games"
 miEnableLCLDebug(TMenuItem) -> "Generate errorlogs"
 N8(TMenuItem) -> "-"
 miAbout(TMenuItem) -> "About"
 pmTablist(TPopupMenu)
 (TMenuItem) -> ""
 miRenameTab(TMenuItem) -> "Rename"
 miTablistSeperator(TMenuItem) -> "-"
 miCloseTab(TMenuItem) -> "Close tab"
 pmValueType(TPopupMenu)
 (TMenuItem) -> ""
 miDefineNewCustomType(TMenuItem) -> "Define new custom type (Auto Assembler)"
 miDefineNewCustomTypeLua(TMenuItem) -> "Define new custom type (LUA)"
 miEditCustomType(TMenuItem) -> "Edit selected custom type"
 miDeleteCustomType(TMenuItem) -> "Delete selected custom type"
 miShowCustomTypeDebug(TMenuItem) -> "Show custom type debug info"
 ColorDialog1(TColorDialog)
 pmResetRange(TPopupMenu)
 (TMenuItem) -> ""
 miResetRange(TMenuItem) -> "Reset range"
 pmScanRegion(TPopupMenu)
 (TMenuItem) -> ""
 miPresetAll(TMenuItem) -> "Preset: Scan all memory"
 miPresetWritable(TMenuItem) -> "Preset: Scan writable memory"
 MainMenu2(TMainMenu)
 (TMenuItem) -> ""
 tLuaGCPassive(TTimer)
 tLuaGCActive(TTimer)
 mfImageList(TImageList)
 frmAutoInject(TfrmAutoInject) -> "Lua script: Cheat Table"
 Panel1(TPanel) -> ""
 Panel3(TPanel) -> ""
 btnExecute(TButton) -> "Execute script"
 Panel2(TPanel) -> ""
 MainMenu1(TMainMenu)
 (TMenuItem) -> ""
 File1(TMenuItem) -> "File"
 miNewWindow(TMenuItem) -> "New Window"
 miNewTab(TMenuItem) -> "New Tab"
 Load1(TMenuItem) -> "Open"
 Save1(TMenuItem) -> "Save"
 SaveAs1(TMenuItem) -> "Save As..."
 miLuaSyntaxCheck(TMenuItem) -> "Syntax Check"
 Assigntocurrentcheattable1(TMenuItem) -> "Assign to current cheat table"
 N2(TMenuItem) -> "-"
 Exit1(TMenuItem) -> "Exit"
 View1(TMenuItem) -> "View"
 Syntaxhighlighting1(TMenuItem) -> "Syntax highlighting"
 MenuItem3(TMenuItem) -> "Auto assembler syntax highlighting preferences"
 MenuItem2(TMenuItem) -> "Lua syntax highlighting preferences"
 MenuItem1(TMenuItem) -> "C highlighting preferences"
 AAPref1(TMenuItem) -> "Preferences"
 emplate1(TMenuItem) -> "Template"
 Codeinjection1(TMenuItem) -> "Code injection"
 APIHook1(TMenuItem) -> "API Hook"
 Coderelocation1(TMenuItem) -> "Code relocation"
 miCallLua(TMenuItem) -> "Call CE lua function"
 menuAOBInjection(TMenuItem) -> "AOB Injection"
 menuFullInjection(TMenuItem) -> "Full Injection"
 CheatTablecompliantcodee1(TMenuItem) -> "Cheat Table framework code"
 Inject1(TMenuItem) -> "Inject"
 Injectincurrentprocess1(TMenuItem) -> "Inject into current process"
 Injectintocurrentprocessandexecute1(TMenuItem) -> "Inject into current process and execute"
 OpenDialog1(TOpenDialog)
 SaveDialog1(TSaveDialog)
 PopupMenu1(TPopupMenu)
 (TMenuItem) -> ""
 miCut(TMenuItem) -> "Cu&t"
 miCopy(TMenuItem) -> "&Copy"
 miPaste(TMenuItem) -> "&Paste"
 miUndo(TMenuItem) -> "&Undo"
 miRedo(TMenuItem) -> "Redo"
 N6(TMenuItem) -> "-"
 miFind(TMenuItem) -> "&Find..."
 mifindNext(TMenuItem) -> "Find Next"
 mifindPrevious(TMenuItem) -> "Find Previous"
 miReplace(TMenuItem) -> "Replace"
 TabMenu(TPopupMenu)
 (TMenuItem) -> ""
 miMoveLeft(TMenuItem) -> "Move left"
 miMoveRight(TMenuItem) -> "Move right"
 miRenameTab(TMenuItem) -> "Rename"
 Close1(TMenuItem) -> "Close"
 FindDialog1(TFindDialog)
 undotimer(TTimer)
 ReplaceDialog1(TReplaceDialog)
 aaImageList(TImageList)
 (TSynAASyn)
 (TSynCppSyn)
 (TSynLuaSyn)
 Assemblescreen(TSynEditPlus)
 (TSynBeautifier)
 SynLeftGutterPartList1(TSynGutterPartList)
 SynGutterMarks1(TSynGutterMarks)
 SynGutterLineNumber1(TSynGutterLineNumber)
 SynGutterChanges1(TSynGutterChanges)
 SynGutterSeparator1(TSynGutterSeparator)
 SynGutterCodeFolding1(TSynGutterCodeFolding)
 SynRightGutterPartList1(TSynRightGutterPartList)
 (TTimer)
 (TAddresslist) -> ""
 List(TTreeviewWithScroll)
 (TTimer)
 (TTimer)
 Header(THeaderControl)
 (TPopupMenu)
 (TMenuItem) -> ""
 (TMenuItem) -> "Sort on click"
 (TTimer)
 
