Я хочу спросить, есть ли у кого-то информация о ключе реестра Windows HKCR\lnkfile
. Как я выяснил, он описывает, как ярлыки должны выполнять свою работу, но мне не удается найти много информации, все, что я знаю, это то, что если этот ключ удален, то ярлыки в машине Windows не работают. Поэтому хочу спросить, знает ли кто-нибудь что-то об этом ключе, его подразделах и значениях.
1
1 ответ
4
Основные сведения об этих ключах можно найти в этой статье MSDN.
Под Windows 8 есть несколько вложенных клавиш и значений:
- Значение по умолчанию обычно определяет видимое имя типа файла, но здесь оно игнорируется (см. FriendlyTypeName).
- Clsid (ключ) определяет CLSID, связанный с ярлыками.
- EditFlags (значение) является битовой маской с использованием FILETYPEATTRIBUTEFLAGS.
- FriendlyTypeName (значение) - это просто связанный ресурс строки, идентифицирующий файл (перезаписывающий значение по умолчанию).
- IsShortcut (значение) - это подсказка для проводника и общих диалоговых элементов управления, показывающая стрелку быстрого вызова в углу значка файла. Значение не имеет значения, наличие значения достаточно.
- NeverShowExt (значение) является еще одной подсказкой и делает именно то, что следует из названия.
- ShellEx (ключ) определяет дополнительные обработчики (CLSID в ключах):
- ContextMenuHandlers определяет дополнительные записи в контекстном меню файлов, такие как "Открыть содержащую папку" (не уверен в точной формулировке).
- DropHandler определяет дополнительные записи в меню перетаскивания (перетащите ярлык в другую папку, используя правую кнопку мыши).
- IconHandler перезаписывает значок типа файла по умолчанию. По сути, это определяет, что CLSID отвечает за выбор правильного значка.
- PropertySheetHandlers добавляет дополнительные вкладки в свойства файла. В данном случае это вкладка "Ярлык".
- tabsets (ключ) Я не совсем уверен в этом, но я предполагаю, что он определяет ленту определенного типа файла для отображения в Windows 8.
CLSID по умолчанию для ярлыков: {00021401-0000-0000-C000-000000000046}, который можно найти в разделе HKCR\CLSID\{00021401-0000-0000-C000-000000000046}. Этот ключ по существу управляет библиотечным файлом, содержащим код для обработки типа файла (например, двойной щелчок /открытый глагол), которым является Shell32.dll.