Kar*_*rel 6 windows windows-registry special-characters
当我导航到 Windows 注册表中的“HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WMP.PlayCD\Shell\Play”时,我在我的 Windows 7 系统上找到了一个名为 MUIVerb 的 REG_EXPAND_SE。但是在它的内容中它带有“@%windir%\system32\wmploc.dll,-6503”
现在我的问题是:这个@ 字符是什么意思或做什么?我是一个长大的 MS-DOS,我以前从未见过这样的符号。我应该将其解释为电子邮件地址中的 @ 之类的吗?最终结果如何。它最终会变成 "C:\%windir%\system32\wmploc.dll,-6503" 吗?
注册表本身只是一个分层的数据存储;符号和含义取决于使用数据的程序。
在这种情况下,该MUIVerb值是 Explorer 保留文件操作的文本描述的位置。有一段时间它们曾经直接保存在注册表中,但是当引入各种 Windows“语言包”时,可翻译文本被移动到文件资源中,并且以“ @”开头的描述被资源管理器解释为“文本存储在以下位置(EXE/DLL 文件的编号为“STRING”的资源)”。(对于不同语言,相同资源可能有多个版本。您可以使用资源浏览器或类似工具浏览 DLL 和 EXE 文件。)
上述“作为数据存储的注册表”规则的一个例外。请注意,数据类型是REG_EXPAND_SZ,不是REG_SZ。这意味着当 Explorer 读取该值时,它会在其中扩展某些环境变量——Explorer 将收到“ @C:\WINDOWS\system32\wmploc.dll,-6503”(带有%windir%扩展)。这是注册表值和数据可以拥有的唯一“特殊”东西。
剩下的完全取决于资源管理器——初始的“ @”表示资源管理器需要加载一个库C:\WINDOWS\system32\wmploc.dll,-6503在其中找到一个字符串资源,并将其内容作为最终文本显示给用户。
| 归档时间: |
|
| 查看次数: |
1689 次 |
| 最近记录: |