中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [分享]快速修改「开始」按钮文字
« [1] [2] »
作者:
标题: [分享]快速修改「开始」按钮文字 上一主题 | 下一主题
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『楼 主』:  [分享]快速修改「开始」按钮文字



修改 .rc 部分的代码由 HAT 编写,还有 slore 提供的一些帮助,谢谢!

测试环境:Windows XP SP2
所用工具ResHacker.exeGoRC.exe
原理ResHacker.exe 在命令行下修改、替换 explorer.exe
执行过程1.ResHacker.exe 提取 explorer.exe 的 37 号 StringTable 为 .rc 文件
                2.用户输入新的按钮文字(即修改 .rc 文件)
                3.GoRC.exe 编译 .rc 为 .res 文件
                4.结束 explorer.exe 进程、重命名 dllcache 下的 explorer.exe 为 .backup 后缀
                5.ResHacker.exe 使用 .res 文件覆盖修改 explorer.exe
                6.Start explore
r
技巧:不输入文字,直接回车,可以移除「开始」按钮 截图

修改.bat
::@ http://www.cn-dos.net/forum/viewthread.php?tid=42775
@echo off
setlocal enabledelayedexpansion

If not exist st37.rc (ResHacker.exe -extract %windir%\explorer.exe,st37.rc,stringtable,37,)

set count=0
set newname=
set /p newname=请输入:
type nul>"st37.bak"
for /f "tokens=1,2* delims=:" %%a in ('findstr /n .* "st37.rc"') do (
  >>"st37.bak" echo.%%b
  set /a count+=1
  if !count! equ 4 goto :next
)
goto :eof
:next
>>"st37.bak" echo 578,         "%newname%"
for /f "skip=5 tokens=1,2* delims=:" %%a in ('findstr /n .* "st37.rc"') do (
  >>"st37.bak" echo.%%b
)
move /y "st37.bak" "st37.rc"

gorc.exe /r st37.rc

taskkill /im explorer.exe /f

set dllcache=%windir%\system32\dllcache

If not exist %dllcache%\explorer.backup ren %dllcache%\explorer.exe explorer.backup
If not exist %windir%\explorer_backup\explorer.exe (
  md %windir%\explorer_backup
  copy %windir%\explorer.exe %windir%\explorer_backup
)

ResHacker.exe -modify %windir%\explorer.exe,%windir%\explorer.exe,st37.res,stringtable,,

start explorer
恢复.bat
@echo off
pause
taskkill /im explorer.exe /f
replace %windir%\explorer_backup\explorer.exe %windir%
ren %windir%\system32\dllcache\explorer.backup explorer.exe
rd /s /q %windir%\explorer_backup
start explorer
下载地址: http://upload.cn-dos.net/img/780.rar
下载地址2: http://www.brsbox.com/filebox/do ... e5a8ab85283b314d7d9

-------------------------------------------------------------------------------------------------------
以上修改方法是直接修改系统的 explorer.exe。还有另一种修改方法------ 加载另一个目录的 explorer.exe,修改注册表中的 shell 值指向这个 explorer.exe。跳至 14 楼

[ Last edited by tireless on 2008-9-21 at 08:49 PM ]

   此帖被 +20 点积分       点击查看详情   
评分人:【 HAT 分数: +10  时间:2008-9-10 10:23
评分人:【 radem 分数: +2  时间:2008-9-10 13:23
评分人:【 moniuming 分数: +8  时间:2008-9-10 13:39


2008-9-10 03:08
查看资料  发短消息 网志   编辑帖子  回复  引用回复
metoo
初级用户





积分 195
发帖 93
注册 2006-10-28
状态 离线
『第 2 楼』:  

ResHacker.exe 有命令行接口啊- -!才知道

2008-9-10 06:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zts59
中级用户




积分 387
发帖 104
注册 2004-11-19
状态 离线
『第 3 楼』:  

不错,改资源也可以命令行,高

2008-9-10 09:33
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 4 楼』:  

学习了



2008-9-10 10:23
查看资料  发短消息 网志   编辑帖子  回复  引用回复
terrytong
中级用户





积分 240
发帖 115
注册 2008-3-10
状态 离线
『第 5 楼』:  

运行了之后怎么金山词霸就出错了,怎么也打不开了。

2008-9-10 11:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by terrytong at 2008-9-9 03:53 PM:
运行了之后怎么金山词霸就出错了,怎么也打不开了。

可能是由于重启了 explorer.exe 的缘故。

2008-9-10 12:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 7 楼』:  

还是建议改注册表修改shell……还原方便还不替换系统原文件。



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2008-9-10 12:32
查看资料  发短消息 网志   编辑帖子  回复  引用回复
radem
高级用户

CMD感染者


积分 691
发帖 383
注册 2008-5-23
状态 离线
『第 8 楼』:  

支持原创

modify startbutton text.rar



2008-9-10 13:21
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ggaking
新手上路





积分 19
发帖 8
注册 2008-9-11
状态 离线
『第 9 楼』:  

看到你最后一个恢复的批处理,好象就是将那个注册表删除了,却没有恢复为原来的值啊,这样重新启动要出错的呀!

2008-9-11 23:10
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 10 楼』:  



  Quote:
Originally posted by ggaking at 2008-9-11 03:10 AM:
看到你最后一个恢复的批处理,好象就是将那个注册表删除了,却没有恢复为原来的值啊,这样重新启动要出错的呀!

我也不记得默认有没有那个“shell”值。我试过了,不会出错。

2008-9-11 23:27
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 11 楼』:  

默认是explorer.exe不能删除的说



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2008-9-12 23:02
查看资料  发短消息 网志   编辑帖子  回复  引用回复
coolrain
新手上路





积分 8
发帖 4
注册 2008-9-13
状态 离线
『第 12 楼』:  

好不错

2008-9-14 11:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
coolrain
新手上路





积分 8
发帖 4
注册 2008-9-13
状态 离线
『第 13 楼』:  

可以的,忘记说了

2008-9-14 11:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 14 楼』:  修改方案二:

修改.bat
@echo off
::@ http://www.cn-dos.net/forum/viewthread.php?tid=42775
If not exist st37.rc (ResHacker.exe -extract %windir%\explorer.exe,st37.rc,stringtable,37,)
setlocal enabledelayedexpansion
set count=0
set newname=
set /p newname=请输入:
type nul>"st37.bak"
for /f "tokens=1,2* delims=:" %%a in ('findstr /n .* "st37.rc"') do (
  >>"st37.bak" echo.%%b
  set /a count+=1
  if !count! equ 4 goto :next
)
goto :eof
:next
>>"st37.bak" echo 578,         "%newname%"
for /f "skip=5 tokens=1,2* delims=:" %%a in ('findstr /n .* "st37.rc"') do (
  >>"st37.bak" echo.%%b
)
move /y "st37.bak" "st37.rc"

gorc.exe /r st37.rc

If not exist %windir%\CustomStartButton\ md %windir%\CustomStartButton\

taskkill /im explorer.exe /f

ResHacker.exe -modify %windir%\explorer.exe,%windir%\CustomStartButton\explorer.exe,st37.res,stringtable,,

reg add "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /d %windir%\CustomStartButton\explorer.exe /f

start %windir%\CustomStartButton\explorer.exe
恢复.bat
@echo off
pause
reg delete "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /f
taskkill /im explorer.exe /f
rd /s /q %windir%\CustomStartButton
start explorer
下载地址:http://upload.cn-dos.net/img/781.rar
下载地址2: http://www.brsbox.com/filebox/do ... d6129bbffe4888e1e8a

[ Last edited by tireless on 2008-9-21 at 08:48 PM ]

   此帖被 +8 点积分        点击查看详情   
评分人:【 moniuming 分数: +8  时间:2008-9-24 17:29


2008-9-22 16:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
moniuming
银牌会员

永远的菜鸟



积分 1335
发帖 574
注册 2007-11-27
来自 广西
状态 离线
『第 15 楼』:  

好东西,顶起来!!!

2008-9-24 17:30
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: