Win98那个年代,我才刚知道有电脑这种东西,真正开始用电脑的时候已经是XP的天下了,但是当时家里电脑比较渣,还是用了比较长时间的98系统
感觉那个开始菜单挺经典的,侧面的光栅和文字特别情怀
最近突发奇想,用VS2015写了一个开始菜单的右键菜单,来模拟Win98样式的菜单
理论上支持xp到win10的任何系统(不支持xp的64位),在xp,win7 64位和win10 64位中测试过
其实支持其他系统也简单,用spy++查看开始按钮的句柄,修改配置即可,另外把菜单绑定到其他按钮上也是可以的
软件下载:
Menu98.zip
295.39KB
ZIP
100次下载
源码下载(VS2015, VC+SDK, 无MFC):
Hook_Advanced.zip
24.74KB
ZIP
70次下载
编程屌的可以帮我检查下源码,看看有没有内存泄漏的毛病之类的
软件分32位和64位版本,请根据自己系统使用相应版本
软件需要VC2015运行库,32位版本安装x86运行库,64位安装x64位运行库
第一次使用时把menu.xml放到explorer.exe的目录里,一般是c:\windows,然后把hook.dll脱到loader.exe上,进行进程注入,之后就能打开菜单了,退出的方法,可以直接双击loader.exe,或者重启explorer
软件的编写姿势比较特殊,支持高DPI的屏幕设定,菜单项完全支持自定义
如果觉得win10/win8的开始右键不够强大,也可以用这个代替哦
如果不喜欢侧面光栅和文字,可修改配置文件去掉,方法见后面
效果图:
下面是自带的Readme文件~
情怀Win98样式开始菜单
绿色软件 无添加 不修改注册表系统文件
支持高DPI缩放
需要VC2015的运行库
使用方法:
1、在任务栏上点右键,选择搜索->显示搜索图标,之后任务栏上应该有个小的放大镜图标(已经有的忽略)
2、把menu.xml放到Explorer.exe的那个目录里去,一般是C:\Windows (默认menu.xml是为win10配置的)
3、把Hook.dll拖到Loader.exe上(Loader.exe Hook.dll),把Hook.dll注入Explorer.exe(注意此目录下的是64位版本, 32位的系统请用win32文件夹里的)
4、右键点击任务栏的放大镜图标即可开启情怀菜单
退出菜单方法(任意一种):
A、直接运行Loader.exe, 不附带任何参数
B、重启Explorer.exe进程
自定义菜单项方法(编辑menu.xml):
语法:
<root>
这是跟节点
tray - 开始按钮是否在任务栏上
button - 设置软件要附加菜单到哪个任务栏按钮上,似乎区分大小写,Start是开始菜单,TrayButton是搜索按钮(Win10特有)
tray和button的设置取决于系统的版本:
系统 tray button
Windows 10 1 Start
Windows 8/8.1 未知 未知
Windows 7 0 Button
Windows Vista 未知 未知
Windows XP/2003 1 Button
text - 显示在菜单侧面的文字
sideOffset - 侧面光栅的宽度,如果是0则不显示光栅和文字
blankWidth - 每个菜单项图标上下方空白的高度
blankHeight - 每个菜单项左右空白的宽度
captionWidth - 侧面文字的宽度
gradLevel - 光栅的精细程度,1为最精细,现在电脑好了,这个设为最精细应该也不会卡了
def_largeIconSize - 默认的大图标大小,用于顶级菜单
def_smallIconSize - 默认的小图标大小,用于其他菜单
<item>
代表一个菜单项,可点击打开指定内容
text - 菜单显示的文本内容
icon - 菜单的图标所在的位置,可以是exe dll ico等,如果省略则用要打开的文件的图标
index - 菜单的索引值,如果省略则用指定文件的默认图标,也就是第一个图标
size - 图标的尺寸,如果省略则根据菜单位置自动选择尺寸
值 - 符号|前面是路径,后面是参数,|可以省略(也可以没有参数),路径和参数最好都用""围起来,栗子:"路径"|"参数"
<submenu>
代表一个包含子菜单的菜单项,里面又可以包含其他的<item> <separator />和<submenu>
text icon index size的定义和item是一样的
<separator />
分隔符
很简单 没啥说的
菜单的显示顺序和xml里面的排列顺序是一样的哦
注意:如果xml文件语法有错误,会在菜单载入时导致explorer崩溃,重启explorer即可恢复
注意:修改xml之后需要重启菜单(方法见上)
Loader.exe参数:
无参数 - 寻找Explorer.exe目录下的menu.xml并按照里面的配置发送退出菜单命令
/close Start/TrayButton - 向指定的按钮发送退出菜单命令
........\Hook.dll - 向Explorer.exe加载菜单
200字以内,仅用于支线交流,主线讨论请采用回复功能。