Сам реестр является просто иерархическим хранилищем данных; обозначения и значения зависят от программы, использующей данные.
В этом случае в значении MUIVerb
Explorer хранит текстовые описания действий с файлами. Некоторое время они сохранялись в реестре напрямую, но когда были введены различные "языковые пакеты" Windows, переводимый текст перемещался в файловые ресурсы, а описания, начинающиеся с « @
», интерпретировались Проводником как «текст сохраняется в следующем месте (пронумерованный ресурс 'STRING' файла EXE/DLL)". (Можно иметь несколько версий одного и того же ресурса для разных языков. Вы можете использовать Resource Explorer или аналогичные инструменты для просмотра файлов DLL и EXE.)
Одно исключение из правила "реестр как хранилище данных" выше. Обратите внимание, что тип данных - REG_EXPAND_SZ
, а не REG_SZ
. Это означает, что когда Explorer читает значение, в нем будут развернуты определенные переменные среды - Explorer получит " @C:\WINDOWS\system32\wmploc.dll,-6503
" (с расширенным %windir%
). Это единственная "особая" вещь, которую могут иметь значения и данные реестра.
Остальное полностью зависит от Explorer - начальный « @
» означает, что Explorer должен загрузить библиотеку C:\WINDOWS\system32\wmploc.dll
, найти в ней строковый ресурс -6503
и использовать его содержимое в качестве окончательного текста для отображения пользователю.