A maioria das noções básicas sobre essas chaves pode ser encontrada em Artigo do MSDN .
No Windows 8, existem algumas subchaves e valores:
- O valor padrão geralmente define o nome do tipo de arquivo visível, mas aqui ele é ignorado (consulte FriendlyTypeName ).
- Clsid (chave) define o CLSID associado a atalhos.
- EditFlags (value) é uma máscara de bits que usa o FILETYPEATTRIBUTEFLAGS .
- FriendlyTypeName (value) é simplesmente um recurso de string vinculado que identifica o arquivo (sobrescrevendo o valor padrão).
- IsShortcut (valor) é uma dica para o Explorer e controles de diálogo comuns para mostrar a seta de atalho no canto do ícone do arquivo. O valor não importa, a existência do valor é suficiente.
- NeverShowExt (value) é outra dica e faz exatamente o que o nome sugere.
-
ShellEx (chave) define manipuladores adicionais (CLSIDs em chaves):
- O ContextMenuHandlers define entradas adicionais no menu de contexto dos arquivos, como "Abrir pasta contida" (não tenho certeza sobre as palavras exatas).
- O DropHandler define entradas adicionais no arquivo drag & drop menu (arraste um atalho para outra pasta usando o botão direito do mouse).
- IconHandler sobrescreve o ícone padrão do tipo de arquivo. Isso essencialmente define o CLSID sendo responsável por escolher o ícone adequado.
- PropertySheetHandlers adiciona guias adicionais às propriedades do arquivo. Nesse caso, é a guia "Atalho".
- tabsets (chave) Eu não tenho muita certeza sobre isso, mas presumo que defina a faixa de opções específica do tipo de arquivo a ser mostrada no Windows 8.
O CLSID padrão para atalhos é {00021401-0000-0000-C000-000000000046} , que pode ser encontrado em HKCR \ CLSID \ {00021401-0000-0000-C000-000000000046 } . Essa chave essencialmente controla o arquivo de biblioteca que contém o código para manipular o tipo de arquivo (por exemplo, clique duplo / o verbo aberto ), que é Shell32.dll .