无忧启动论坛

标题: [求助] 关于pe中文件关联代码的一些疑问 [打印本页]

作者: zcy85611    时间: 2009-9-20 22:33
标题: [求助] 关于pe中文件关联代码的一些疑问
  1. @ECHO off
  2. PUSHD %~dp0
  3. SET TP=%CD%
  4. REG ADD HKCR\Ghost\shell\open\command /ve /t REG_SZ /d ""%WinDir%\SYSTEM32\GHOST\GHOSTEXP.EXE" ""%%1" /f>NUL
  5. REGEDIT /S "%WinDir%\SYSTEM32\WinRAR\WinRAR.REG"

  6. REG ADD HKCR\CLSID\{B41DB860-8EE4-11D2-9906-E49FADC173CA}\InProcServer32 /ve /t REG_SZ /d "%WinDir%\SYSTEM32\WinRAR\rarext.dll" /F >NUL

  7. REG ADD HKCR\WinRAR\DefaultIcon /ve /t REG_SZ /d "%WinDir%\SYSTEM32\WinRAR\WinRAR.exe,0" /F >NUL

  8. REG ADD HKCR\WinRAR\shell\open\command /ve /t REG_SZ /d ""%WinDir%\SYSTEM32\WinRAR\WinRAR.exe" "%%1"" /F >NUL

  9. REG ADD HKCR\WinRAR.REV\DefaultIcon /ve /t REG_SZ /d "%WinDir%\SYSTEM32\WinRAR\WinRAR.exe,1" /F >NUL

  10. REG ADD HKCR\WinRAR.REV\shell\open\command /ve /t REG_SZ /d ""%WinDir%\SYSTEM32\WinRAR\WinRAR.exe" "%%1"" /F >NUL

  11. REG ADD HKCR\WinRAR.ZIP\DefaultIcon /ve /t REG_SZ /d "%WinDir%\SYSTEM32\WinRAR\WinRAR.exe,0" /F >NUL

  12. REG ADD HKCR\WinRAR.ZIP\shell\open\command /ve /t REG_SZ /d ""%WinDir%\SYSTEM32\WinRAR\WinRAR.exe" "%%1"" /F >NUL
复制代码
以上是关于用winrar关联一些文件的代码,我有以下几点疑问

1. REG ADD HKCR\WinRAR\DefaultIcon /ve /t REG_SZ /d "%WinDir%\SYSTEM32\WinRAR\WinRAR.exe,0" /F >NUL
这一段是意思应该是关联winrar的默认图标,这个DefaultIcon是指的所有的winrar可以关联的文件的图标吗?另外,"%WinDir%\SYSTEM32\WinRAR\WinRAR.exe,0" 这段语句里面,最后的那个,0是什么意思?

2.REG ADD HKCR\WinRAR\shell\open\command /ve /t REG_SZ /d "\"%WinDir%\SYSTEM32\WinRAR\WinRAR.exe\" \"%%1\"" /F >NUL
这一段话里, "\"%WinDir%\SYSTEM32\WinRAR\WinRAR.exe\" 我有些看不懂,为什么要在"%WinDir%的前面加上"\呢?,还有winrar.exe后面为什么要加 \ ?这个我觉得应该是多余的。\"%%1\"" 这一段我就完全无法理解了...请各位帮我解释一下...

3.最后一个问题是,关联文件的时候,比如winrar,支持zip,rar等各种格式,是不是只要执行了REG ADD HKCR\WinRAR\shell\open\command /ve /t REG_SZ /d "\"%WinDir%\SYSTEM32\WinRAR\WinRAR.exe\" \"%%1\"" /F >NUL  这句话,就可以把winrar支持的文件全部用winrar关联呢?

问题问的比较多,比较繁琐~希望大家能耐心的看一下,并帮助解答,谢谢!

[ 本帖最后由 zcy85611 于 2009-9-20 22:37 编辑 ]
作者: slore    时间: 2009-9-20 23:49
winrar类型的文件图标

ROOT的.txt看到是txtfile如果你改为winrar那么他的图标和关联都算到winrar的了。

0表示图标的索引,一个exe文件里面可以有多个图标。。。


\"是对"的转义

%%是%的转义。。。
你执行后regedit打开对比着理解吧。
作者: zcy85611    时间: 2009-9-21 07:51
原帖由 slore 于 2009-9-20 23:49 发表
winrar类型的文件图标

ROOT的.txt看到是txtfile如果你改为winrar那么他的图标和关联都算到winrar的了。

0表示图标的索引,一个exe文件里面可以有多个图标。。。


\"是对"的转义

%%是%的转义。。。 ...


楼上的兄弟,批处理里面我只知道 ^ 是转义符,这个 \ 的意思跟 ^ 是一样的吗?
作者: junyee    时间: 2009-9-21 11:51
1:你说的不错,这段是Winrar关联的图标
WinRAR.exe,0就是Winrar.exe 的第一个索引,一般就是这个EXE在资源管理器里所看到的那个。
2:\"也就是"     为什么不用"呢,这是因为""一般是起把数据(特别是包含空格)包起来的作用,而注册表信息中会有很多",这就会令REG执行不到预想的效果。
3:HKCR\WinRAR\shell\open\command 就可以把WINRAR关联起来???
你似乎忘了HKCR\*.zip *.rar 下的默认数据就是Winrar,其实它是能过关联zip,rar等后缀,再转定义到HKCR\Winrar下的。
作者: zcy85611    时间: 2009-9-22 15:51
感谢2位的帮助,现在我已经能够基本掌握了文件关联的修改方法了




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3