5 votes

Quelle icône/état OneDrive correspond à quel nom d'identifiant de superposition d'icônes ?

Similaire à cette question Je voudrais désactiver sélectivement certaines des superpositions d'icônes Shell de OneDrive. Le registre (HKLM \SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers ), cependant, ne sont que des listes : OneDrive1, OneDrive2, OneDrive3, OneDrive4, OneDrive5. Quelle est la signification de chacun de ces éléments ?

4voto

BeingQuisitive Points 161

Après quelques manipulations, voici les résultats :

  1. Pas de synchronisation (x rouge)
  2. Synchronisé - Partagé
  3. Synchronisation - Partagé
  4. Synchronisé
  5. Synchronisation

Pour les curieux, le registre contient le CLSID de chacune des clés ci-dessus. Vous pouvez ensuite charger cet objet COM et demander où se trouve l'icône (fichier plus numéro d'image). Vous pouvez ensuite chercher dans le fichier pour déterminer l'icône (en utilisant par exemple IconsExtract de Nirsoft). Voici un exemple de code provenant d'un projet VS2013 :

    #include "stdafx.h"
    #include <Shlobj.h>
    #include <iostream> 
    #include <tchar.h>

    int _tmain(int argc, _TCHAR* argv[]){
      LPCOLESTR str_clsid = L"{FB314EE0-A251-47B7-93E1-CDD82E34AF8B}";
      HRESULT hr;
      CLSID clsid;
      IShellIconOverlayIdentifier* pISIOI;
      DWORD dwFlags;
      int Index;
      wchar_t* wszIconFile = new wchar_t[128];

      hr = CLSIDFromString(str_clsid, (LPCLSID)&clsid);
      CoInitialize(NULL);
      hr = CoCreateInstance(clsid, NULL, CLSCTX_INPROC_SERVER, IID_IShellIconOverlayIdentifier, (void**)&pISIOI);
      hr = pISIOI->GetOverlayInfo(wszIconFile, 128, &Index, &dwFlags);
      std::wcout << L"Icon Path:\n    " << wszIconFile << L" " << Index << std::endl;
      pISIOI->Release();
      CoUninitialize();
      return 0;
    }

3voto

bhankerson Points 121

Voici une mise à jour (les descriptions sont tirées des CLSID de l'éditeur de registre) :

  • OneDrive1 - Classe ErrorOverlayHandler
  • OneDrive2 - Classe SharedOverlayHandler
  • OneDrive3 - Classe UpToDateCloudOverlayHandler
  • OneDrive4 - Classe UpToDatePinnedOverlayHandler
  • OneDrive5 - Classe SyncingOverlayHandler
  • OneDrive6 - Classe ReadOnlyOverlayHandler
  • OneDrive7 - Classe UpToDateUnpinnedOverlayHandler

De plus, il y a 3 CLSIDs qui semblent être un héritage :

  • {1BF42E4C-4AF4-4CFD-A1A0-CF2960B8F63E} - UpToDateOverlayHandler2 Classe
  • {7AFDFDDB-F914-11E4-8377-6C3BE50D980C} - Classe ErrorOverlayHandler2
  • {82CA8DE3-01AD-4CEA-9D75-BE4C51810A9E} - Classe SyncingOverlayHandler2

Quelqu'un ayant plus d'expérience/connaissance peut-il confirmer ou corriger cela ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X