Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Quando você tem um provedor de armazenamento em nuvem, há algumas etapas que você deve seguir para fornecer uma experiência consistente e preferida para o usuário. Essas duas coisas são registrar como um provedor raiz de sincronização e integrar seu aplicativo ao nível raiz do Painel de Navegação.
Importante
A integração do seu fornecedor de armazenamento na nuvem só é suportada a partir do Windows 10.
A primeira coisa é registrar-se como um provedor raiz de sincronização. Isso permite que o Shell do Windows saiba sobre seu aplicativo e que seu aplicativo será responsável por sincronizar arquivos sob sua raiz de sincronização. Isso também permitirá que outros aplicativos saibam que você está sincronizando esses arquivos para que eles possam responder adequadamente. Outros aplicativos podem usar StorageFile.Provider para obter o DisplayName e de ID do seu aplicativo.
Para se registrar como um provedor raiz de sincronização, você precisará criar várias entradas do registro. Antes de fornecer a lista de pares chave-valor, aqui estão alguns espaços reservados que você deve substituir por seus próprios dados de aplicativo.
- [ID do provedor de armazenamento]: O nome do seu provedor de armazenamento em nuvem. Esse nome deve ser consistente, independentemente da versão do seu aplicativo. Um exemplo disso é o OneDrive.
- [Windows SID]: O SID exclusivo do Windows que identifica o usuário. Se o seu aplicativo oferecer suporte a várias instalações para vários usuários em uma única máquina, essa parte será necessária.
- [ID da conta]: O identificador do fornecedor de serviços para a conta corrente deste utilizador. Alguns provedores exigem a capacidade de fornecer várias raízes de sincronização para um usuário. Um exemplo disso é um trabalho e uma conta pessoal. O de ID de Conta permite que você tenha várias contas registradas para um usuário. Se o seu provedor oferecer suporte a várias raízes de sincronização por usuário, essa parte será necessária.
Esses espaços reservados são combinados para formar a ID raiz de sincronização. Você deve colocar um ! caractere entre cada um dos espaços reservados ao formar a ID raiz de sincronização. Aqui estão os pares chave-valor que precisam ser criados.
- HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\SyncRootManager\[ID do provedor de armazenamento]![Windows SID]![ID da conta]\DisplayNameResource : aponta para o recurso onde o Shell do Windows ou outros aplicativos podem obter um nome amigável para sua raiz de sincronização.
- HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\SyncRootManager\[ID do provedor de armazenamento]![Windows SID]![ID da conta]\IconResource : aponta para o recurso onde o Shell do Windows ou outros aplicativos podem obter um ícone para sua raiz de sincronização.
- HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\SyncRootManager\[ID do provedor de armazenamento]![Windows SID]![ID da conta]\UserSyncRoots\[Windows SID] : O local no disco onde a raiz de sincronização está localizada.
Além de se registrar como um provedor raiz de sincronização, você também deseja que os usuários tenham acesso fácil aos dados fornecidos. O namespace do Explorador de Arquivos foi projetado para fornecer um método para esse acesso fácil. Criar uma extensão de namespace para seu provedor e incorporá-la à janela do Explorador de Arquivos permitirá que os usuários interajam com o nível raiz de seus serviços da mesma forma que estão acostumados com outros itens do Explorador de Arquivos. Este tópico explica como estender o namespace do Explorador de Arquivos para que seu provedor apareça no nível raiz no Painel de Navegação.
O Painel de Navegação da janela do Explorador de Ficheiros é a parte da janela apresentada no lado esquerdo. Na imagem abaixo, você pode ver a estrutura de namespace para este usuário. O nível raiz no Painel de Navegação inclui os objetos para OneDrive, This PCe Network. Seguir estes passos irá adicionar a sua extensão ao mesmo nível.
Para adicionar sua extensão ao Painel de Navegação, você precisará ter o seguinte antes de editar o registro:
Uma pasta do sistema de arquivos que contém os dados a serem exibidos ao usuário.
Nome do seu serviço de nuvem que aparecerá no Painel de Navegação. Esse também pode ser o nome da instância se o serviço oferecer suporte a várias contas.
Ícone identificável para a sua aplicação.
Um CLSID para a sua aplicação. Uma maneira de gerar um CLSID para seu aplicativo é usar o Uuidgen.exe. Consulte de chaves CLSID para obter mais informações sobre CLSID.
As etapas a seguir modificam o Registro para obter as informações necessárias no namespace do Explorador de Arquivos. As etapas específicas fazem três coisas.
Crie chaves no Registro para seu CLSID que inclua valores para o nome e ícone para sua extensão, bem como outras informações que definem seu comportamento.
Configure a sua extensão para ser integrada no Painel de Navegação no local adequado e com a visibilidade adequada.
Configure sua extensão para ter o comportamento esperado para um elemento no painel de navegação.
Estas instruções usam especificamente o comando reg.exe, no entanto, você pode usar qualquer ferramenta de edição de registro de sua escolha. Você pode até mesmo integrar essas etapas em um instalador que atualiza o registro programaticamente.
Instruções
Passo 1: Adicione o seu CLSID e nomeie a sua extensão
Adicione o nome da sua extensão ao registo em HKEY_CURRENT_USER. Você também adicionará o identificador exclusivo para esta extensão. É possível adicionar mais de uma extensão por usuário, mas nesse caso você precisará de um nome e identificador exclusivos para cada extensão. Esse nome e identificador devem ser consistentes durante o restante dessas etapas. Neste exemplo, o nome é MyCloudStorageApp.
Importante
O identificador fornecido (0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3) nestas etapas é usado apenas como uma amostra. Você precisará alterar isso para seu CLSID exclusivo.
reg adicionar HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /ve /t REG_SZ /d "MyCloudStorageApp" /f
Passo 2: Defina a imagem para o seu ícone
Forneça o caminho para o ícone que deve ser exibido no Painel de Navegação. No exemplo abaixo, 1043 refere-se ao identificador de recurso para o ícone na DLL indicada.
Importante
Você precisa atualizar o caminho da imagem. Ele deve apontar para um caminho genérico onde seu aplicativo instalou uma imagem.
reg adicionar HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\DefaultIcon /ve /t REG_EXPAND_SZ /d %%SystemRoot%%\system32\imageres.dll,-1043 /f
Passo 3: Adicionar a extensão ao Painel de Navegação e torná-la visível
Definir esse valor como 0x1 indica que a extensão deve ser fixada. Isso garantirá que ele seja mostrado aos usuários por padrão. A configuração padrão para um usuário é que apenas os itens fixados serão mostrados no Painel de Navegação. Um usuário pode alterar essa configuração clicando com o botão direito do mouse no Painel de Navegação e selecionando Mostrar todas as pastas. Se não quiser fixar sua extensão, você pode definir esse valor como 0x0. Isso não removerá sua extensão, mas apenas impedirá que ela seja exibida para o usuário por padrão.
reg adicionar HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /v System.IsPinnedToNameSpaceTree /t REG_DWORD /d 0x1 /f
Etapa 4: definir o local da extensão no Painel de Navegação
Isso é fundamental para garantir que o Painel de Navegação forneça uma experiência consistente para o usuário.
reg adicionar HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /v SortOrderIndex /t REG_DWORD /d 0x42 /f
Passo 5: Forneça a dll que hospeda sua extensão.
Use o shell32.dll para emular pastas padrão do Windows. Só altere isso se você tiver um motivo específico para fazer isso e estiver familiarizado com extensões de namespace.
reg adicionar HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\InProcServer32 /ve /t REG_EXPAND_SZ /d %%systemroot%%\system32\shell32.dll /f
Etapa 6: Definir o objeto de instância
Indique que sua extensão de namespace deve funcionar como outras estruturas de pasta de arquivo no Explorador de Arquivos. Para obter mais informações sobre objetos de instância de shell, consulte Criando extensões de shell com objetos de instância de shell.
reg adicionar HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\Instance /v CLSID /t REG_SZ /d {0E5AAE11-A475-4c5b-AB00-C66DE400274E} /f
Etapa 7: Fornecer os atributos do sistema de arquivos da pasta de destino
Isso é necessário para garantir que o Explorador de Arquivos forneça uma experiência consistente e esperada para os usuários. Este comando define FILE_ATTRIBUTE_DIRECTORY e FILE_ATTRIBUTE_READONLY, ambos Constantes de Atributo de Arquivo.
reg adicionar HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\Instance\InitPropertyBag /v Atributos /t REG_DWORD /d 0x11 /f
Etapa 8: Definir o caminho para a raiz de sincronização
Defina o caminho para a raiz de sincronização.
reg adicionar HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\Instance\InitPropertyBag /v TargetFolderPath /t REG_EXPAND_SZ /d %%USERPROFILE%%\MyCloudStorageApp /f
Etapa 9: Definir sinalizadores de shell apropriados
Defina alguns sinalizadores necessários para fixar sua extensão de namespace na árvore do Explorador de Arquivos.
reg adicionar HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\ShellFolder /v FolderValueFlags /t REG_DWORD /d 0x28 /f
Etapa 10: Definir os sinalizadores apropriados para controlar o comportamento do shell
Defina os sinalizadores deSFGAOapropriados. As bandeiras relevantes são SFGAO_CANCOPY, SFGAO_CANLINK, SFGAO_STORAGE, SFGAO_HASPROPSHEET, SFGAO_STORAGEANCESTOR, SFGAO_FILESYSANCESTOR, SFGAO_FOLDER, SFGAO_FILESYSTEM e SFGAO_HASSUBFOLDER.
reg adicionar HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\ShellFolder /v Atributos /t REG_DWORD /d 0xF080004D /f
Etapa 11: Registrar sua extensão na raiz do namespace
Configure a extensão de namespace para ser um filho da pasta da área de trabalho.
reg adicionar HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /ve /t REG_SZ /d MyCloudStorageApp /f
Passo 12: Ocultar a sua extensão do ambiente de trabalho
É importante que a extensão apareça apenas no Painel de Navegação do Explorador de Ficheiros. Uma extensão de namespace não funciona como um atalho normal. Portanto, você não deve usar esse método para criar um atalho na área de trabalho.
reg adicionar HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel /v {0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /t REG_DWORD /d 0x1 /f