软件综合
0
[情怀]Win98风格的开始右键菜单
金坷居士 2016-1-7 17:55:47
Win98那个年代,我才刚知道有电脑这种东西,真正开始用电脑的时候已经是XP的天下了,但是当时家里电脑比较渣,还是用了比较长时间的98系统
感觉那个开始菜单挺经典的,侧面的光栅和文字特别情怀

最近突发奇想,用VS2015写了一个开始菜单的右键菜单,来模拟Win98样式的菜单
理论上支持xp到win10的任何系统(不支持xp的64位),在xp,win7 64位和win10 64位中测试过
其实支持其他系统也简单,用spy++查看开始按钮的句柄,修改配置即可,另外把菜单绑定到其他按钮上也是可以的

软件下载:
Menu98.zip296k8次

源码下载(VS2015, VC+SDK, 无MFC):
编程屌的可以帮我检查下源码,看看有没有内存泄漏的毛病之类的

软件分32位和64位版本,请根据自己系统使用相应版本
软件需要VC2015运行库,32位版本安装x86运行库,64位安装x64位运行库

第一次使用时把menu.xml放到explorer.exe的目录里,一般是c:\windows,然后把hook.dll脱到loader.exe上,进行进程注入,之后就能打开菜单了,退出的方法,可以直接双击loader.exe,或者重启explorer

软件的编写姿势比较特殊,支持高DPI的屏幕设定,菜单项完全支持自定义
如果觉得win10/win8的开始右键不够强大,也可以用这个代替哦
如果不喜欢侧面光栅和文字,可修改配置文件去掉,方法见后面

效果图:
257706

257707

257708


下面是自带的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加载菜单

[修改于 3 年前 - 2016-01-07 22:03:16]

2016-1-9 09:54:37
1楼
0
印象中从未用过win98 但一看这个图感觉十分熟悉。。
2016-3-28 12:24:51
2楼
0
windows8不行吗
2016-3-30 16:22:16
3楼
0
代码扔到github,然后全球的程序员一起上啊
4楼
0
想看看高dpi下,像素图标变成什么样子了。
提个醒:应该应用win98的系统字体。
金坷居士(作者)
5楼
0
引用 celeron533:
代码扔到github,然后全球的程序员一起上啊
有此意图
2016-4-3 10:47:20
6楼
0
突然想起来这设计和图标,微软都是有版权的。。。放到github后,被微软发现后可能会强制删除
7楼
0
我记得Win98也是有两套图标的,一套小图标,一套大图标。。。
8楼
0
引用 novakon:
想看看高dpi下,像素图标变成什么样子了。
提个醒:应该应用win98的系统字体。
楼主的默认配置文件是用的系统内置图标,其中大多数从Win98继承的图标都有96 DPI和144 DPI两种尺寸。所以在这两个DPI下一般不会模糊,如果不是这两个DPI就会有不同程度的模糊。

[修改于 3 年前 - 2016-04-03 18:02:01]

9楼
0
引用 celeron533:
突然想起来这设计和图标,微软都是有版权的。。。放到github后,被微软发现后可能会强制删除
他们的版权到现在还有效么
10楼
0
引用 phpskycn:
他们的版权到现在还有效么
版权应该是有效的,专利不好说。。。
2018-5-9 00:07:29
金坷居士(作者)
11楼
0
更新下 软件居然被softpedia看上了 传送门在
http://www.softpedia.com/get/Desktop-Enhancements/Shell-Replacements/Menu98.shtml
编译的时候用了VC-LTL(Github上有)的属性表,所以不需要VC2017运行库
项目源码传送门 https://github.com/rikka0w0/Menu98

想参与大家的讨论?现在就 登录 或者 注册

万流景仰
专栏收藏夹发私信
学术分 11科创币 16.42总主题 171 帖总回复 1711 楼拥有证书:会员 学者 机友 笔友
注册于 2011-09-23 14:21最后登录 2019-04-19 00:55

个人简介

怪哉!灵异的三极管电流流向! 这素一个在仿真的RCC电路,示波器上绿色的是集电极电流红色的是发射极电流。窝萌都知道发射姬电流素集电极电流和基极电流之和,所以讲道理发射极电流一定比集电极略大。可仿真结果刷了三观,Q1集电极电流一部分流经基极,然后流经Q2的C->E。

Github  https://github.com/kccd/nkc.git

科创研究院 (c)2001-2019

蜀ICP备11004945号-2 川公网安备51010802000058号