一、代码剖析
实例代码:删除主界面的帮助菜单
1. getMainForm()
-
作用:获取Cheat Engine的主窗口对象(整个CE程序的主界面)
-
返回:一个窗体对象,包含菜单栏、工具栏、按钮等所有界面元素
-
类比:相当于拿到了整个CE的"遥控器"
2.Menu
-
作用:访问主窗体的菜单栏对象(文件、编辑、帮助那一横条)
-
注意:不是所有窗体都有菜单,但CE主窗体一定有
-
类比:在遥控器上找到"菜单控制键"
3.Items[9]
-
作用:访问菜单栏中的第10个菜单项(索引从0开始计数)
-
索引规则:0=第1项,1=第2项,...,9=第10项
-
类比:在菜单键里选择第10个按钮
4.Visible=false
-
作用:将该菜单项的可见性属性设为假
-
结果:菜单立即从界面上消失,但功能还在,只是看不见点不着
-
可选值:false=隐藏 / true=显示(默认)
-
类比:按下"隐身开关"
5.关键细节
| 部分 | 数据类型 | 如果出错会怎样 |
|---|---|---|
| getMainForm() | 窗体对象 | CE没启动时返回nil,后面代码报错 |
| Menu | 菜单对象 | 极少出错,CE必有主菜单 |
| Items[9] | 菜单项对象 | 索引越界(≥12)时返回nil,代码报错 |
| Visible | 布尔值属性 | 赋非布尔值无效 |
二、CE 7.6 主界面控件隐藏完全参考
所有命令单行可直接执行。Visible=false 默认已隐藏的控件标注 🔘,通常无需操作。
1.顶层控件
getMainForm().Splitter1.Visible = false -- 左右区域分隔条 getMainForm().Panel1.Visible = false -- 作弊表大面板(隐藏整个下半区) getMainForm().Panel4.Visible = false -- 右下按钮区面板 getMainForm().Panel5.Visible = false -- 左侧扫描区大面板(隐藏整个扫描区)
2.菜单栏
getMainForm().Menu.Items[0].Visible = false -- 文件(&F) getMainForm().Menu.Items[1].Visible = false -- 编辑(&E) getMainForm().Menu.Items[2].Visible = false -- 进程(&P) getMainForm().Menu.Items[3].Visible = false -- 表格 getMainForm().Menu.Items[4].Visible = false -- D3D getMainForm().Menu.Items[5].Visible = false -- 工具(&T) getMainForm().Menu.Items[6].Visible = false -- .Net getMainForm().Menu.Items[7].Visible = false -- 网络 getMainForm().Menu.Items[8].Visible = false -- 插件(&L) getMainForm().Menu.Items[9].Visible = false -- 语言 getMainForm().Menu.Items[10].Visible = false -- 帮助(&H) getMainForm().Menu = nil -- ⚠️ 移除整个菜单栏(不可恢复)
3.Panel1 子控件(作弊表区)
getMainForm().AddressList.Visible = false -- 作弊表地址列表
4.Panel4 子控件(右下按钮区)
getMainForm().advancedbutton.Visible = false -- 高级选项按钮 getMainForm().CommentButton.Visible = false -- 注释按钮 -- 🔘 lblSigned 默认已隐藏
5.Panel5 子控件(扫描区)
5.1 Logo区(LogoPanel)
getMainForm().LogoPanel.Visible = false -- 整个Logo区(含Logo图片+设置按钮) getMainForm().Logo.Visible = false -- CE Logo图片 getMainForm().SettingsButton.Visible = false -- 设置按钮(齿轮图标)
5.2 进程区(Panel7)
getMainForm().Panel7.Visible = false -- 进程区面板 getMainForm().sbOpenProcess.Visible = false -- 打开进程按钮 getMainForm().ProcessLabel.Visible = false -- 当前进程名标签
5.3 扫描结果区
getMainForm().foundcountlabel.Visible = false -- 找到结果数量标签("找到X个") getMainForm().Foundlist3.Visible = false -- 扫描结果列表
5.4 扫描输入区
getMainForm().ScanText.Visible = false -- "数值"文字标签 getMainForm().scanvalue.Visible = false -- 数值输入框 getMainForm().ScanType.Visible = false -- 扫描类型下拉框 getMainForm().lblScanType.Visible = false -- "扫描类型"标签 getMainForm().VarType.Visible = false -- 数值类型下拉框 getMainForm().lblValueType.Visible = false -- "数值类型"标签 getMainForm().ProgressBar.Visible = false -- 扫描进度条 -- 🔘 scanvalue2 / ScanText2 / andlabel 默认已隐藏(范围扫描时才出现)
5.5 数值选项区(pnlScanValueOptions)
getMainForm().pnlScanValueOptions.Visible = false -- 整个数值选项区 getMainForm().cbHexadecimal.Visible = false -- 十六进制勾选框 -- 🔘 rbBit / rbDec 默认已隐藏
5.6 扫描按钮区
getMainForm().btnNewScan.Visible = false -- "新扫描"按钮 getMainForm().btnNextScan.Visible = false -- "再次扫描"按钮 getMainForm().UndoScan.Visible = false -- "撤销扫描"按钮 getMainForm().btnAddAddressManually.Visible = false -- "手动添加地址"按钮 getMainForm().btnMemoryView.Visible = false -- "内存视图"按钮 -- 🔘 btnFirst / btnNext 默认已隐藏
5.7 表格操作按钮
getMainForm().LoadButton.Visible = false -- 载入表格按钮 getMainForm().SaveButton.Visible = false -- 保存表格按钮 getMainForm().SpeedButton2.Visible = false -- 快捷按钮2 getMainForm().SpeedButton3.Visible = false -- 快捷按钮3 getMainForm().Label6.Visible = false -- 说明标签
6.Panel9 子控件(扫描选项区)
6.1 pnlScanOptions(扫描模式选项)
getMainForm().pnlScanOptions.Visible = false -- 整个扫描模式选项区 getMainForm().cbNot.Visible = false -- "非"勾选框(默认显示) getMainForm().cbLuaFormula.Visible = false -- Lua公式勾选框(默认显示) -- 🔘 以下默认已隐藏(特定数值类型才出现): -- pnlFloat / cbUnicode / cbCaseSensitive / cbFloatSimple -- cbpercentage / cbCodePage / cbRepeatUntilStopped / cbNewLuaState
pnlFloat 子控件(浮点精度选项,默认隐藏)
getMainForm().pnlFloat.Visible = false -- 整个浮点选项区 getMainForm().rt1.Visible = false -- 浮点精度单选1 getMainForm().rt2.Visible = false -- 浮点精度单选2 getMainForm().rt3.Visible = false -- 浮点精度单选3
6.2 Panel10(附加功能选项)
getMainForm().Panel10.Visible = false -- 整个附加功能区 getMainForm().cbUnrandomizer.Visible = false -- Unrandomizer勾选框 getMainForm().cbSpeedhack.Visible = false -- Speedhack勾选框 -- 🔘 Panel14 默认已隐藏(启用Speedhack后出现)
Panel14 子控件(Speedhack控制面板,默认隐藏)
getMainForm().Panel14.Visible = false -- 整个Speedhack控制面板 getMainForm().Label54.Visible = false -- Speedhack标签 getMainForm().lblSH0.Visible = false -- 速度值标签0 getMainForm().lblSH20.Visible = false -- 速度值标签20 getMainForm().tbSpeed.Visible = false -- 速度滑动条 getMainForm().editSH2.Visible = false -- 速度输入框 getMainForm().btnSetSpeedhack2.Visible = false -- 设置速度按钮
7.gbScanOptions 子控件(扫描范围选项)
getMainForm().gbScanOptions.Visible = false -- 整个扫描范围选项组(最省事) getMainForm().ScanOptionsModuleList.Visible = false -- 模块列表下拉框
7.1 Panel2(内存属性过滤)
getMainForm().Panel2.Visible = false -- 整个内存属性区 getMainForm().cbWritable.Visible = false -- 可写内存勾选框 getMainForm().cbExecutable.Visible = false -- 可执行内存勾选框 getMainForm().cbCopyOnWrite.Visible = false -- 写时复制勾选框
7.2 Panel3(地址范围)
getMainForm().Panel3.Visible = false -- 整个地址范围区 getMainForm().Label1.Visible = false -- "起始地址"标签 getMainForm().Label2.Visible = false -- "结束地址"标签 getMainForm().FromAddress.Visible = false -- 起始地址输入框 getMainForm().ToAddress.Visible = false -- 结束地址输入框
7.3 Panel6(快速扫描选项)
getMainForm().Panel6.Visible = false -- 整个快速扫描选项区 getMainForm().cbFastScan.Visible = false -- 快速扫描勾选框 getMainForm().edtAlignment.Visible = false -- 对齐值输入框 getMainForm().cbPauseWhileScanning.Visible = false -- 扫描时暂停勾选框 getMainForm().cbPresentMemoryOnly.Visible = false -- 仅扫描已存在内存勾选框 getMainForm().sbClearActiveMemory.Visible = false -- 清除活动内存按钮 getMainForm().Panel8.Visible = false -- 快速扫描对齐方式区 getMainForm().rbFsmAligned.Visible = false -- 对齐扫描单选 getMainForm().rbfsmLastDigts.Visible = false -- 末位对齐单选
8.窗体本身
getMainForm().Visible = false -- 隐藏整个主窗口 getMainForm().Caption = "自定义标题" -- 修改窗口标题 getMainForm().Caption = "" -- 清空标题 getMainForm().BorderStyle = bsNone -- ⚠️ 去除边框(无法拖动) getMainForm().BorderStyle = bsSizeable -- 恢复可调大小边框 getMainForm().FormStyle = fsStayOnTop -- 窗口置顶 getMainForm().FormStyle = fsNormal -- 取消置顶
9.风险等级速查
| 风险 | 控件 | 可恢复 |
|---|---|---|
| 🟢 低 | 所有 Visible = false 操作 |
✅ .Visible = true 还原 |
| 🟡 中 | BorderStyle = bsNone |
✅ 代码还原但窗口无法拖动 |
| 🟡 中 | mf.Visible = false |
✅ 需另起脚本还原 |
| 🔴 高 | Menu = nil |
❌ 重启CE才能还原 |