Como um script pode adicionar uma pequena sobreposição de ícones nos ícones dos arquivos

-1

Assim como o Dropbox, gostaria de mostrar se é feito o backup de um arquivo usando a sobreposição de ícones. Como isso pode ser feito, sem intervenção humana e em relação a um computador específico, para que ele não precise ser distribuído.

Esta pergunta diz respeito apenas a como adicionar / alterar essa pequena sobreposição de ícone, não como verificar se o backup dos arquivos está sendo feito.

Estou visando o Windows 7 no momento.

quimnuss
fonte
Por que o voto negativo?
22716 Quimnuss
Thx @Seth, vou dar uma olhada em como alcançá-lo.
22416 Quimnuss 13/12/16
Meu palpite seria porque não é realmente uma pergunta tão boa . Você não incluiu muita / nenhuma informação sobre o que tentou ou o que sua pesquisa mostrou até agora. Embora uma vantagem seja que você reduziu um pouco. Dependendo de como você aborda essa questão (consulte também a referência que eu vinculei), é melhor perguntar no Stackoverflow se precisar perguntar sobre um código específico. Eu não votei, então é apenas o meu palpite.
Seth
Eu estava mais interessado no conhecimento do que na implementação (que eu mesmo vou fazer), então era superusuário.
22416 Quimnuss 14/12

Respostas:

1

Se você observar a referência Ícones e sobreposições de ícones ou mais especificamente Como criar manipuladores de ícones e Como implementar manipuladores de sobreposições de ícones , verá que é necessário implementar um componente DLL / COM.

A DLL precisa implementar determinadas interfaces ( IUnknowne IShellIconOverlayIdentifieraté onde eu sei) e será chamada pelo processo do Windows Explorer ao exibir um ícone. Para que isso aconteça, você precisa criar uma entrada no registro. Como você provavelmente deseja que essa sobreposição seja exibida para todos os tipos de arquivos, você provavelmente precisará se registrar para um tipo de arquivo geral.

Mais tarde GetOverlayInfo, será chamado para registrar seu ícone e IsMemberOfindicar sempre que você deseja que sua sobreposição seja exibida.

Quanto à identificação de arquivos ou armazenamento de informações sobre eles, você pode usar um Fluxo de Dados Alternativo, embora isso signifique que ele funcionaria apenas / principalmente para NTFS e, como você disse, não é realmente parte da sua pergunta.

Se você ler este artigo de ajuda para o DropBox, verá que a chave do registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifierstambém pode / seria importante para decidir quais ícones serão exibidos.

Seth
fonte
Essa é a resposta à minha pergunta
quimnuss