Utilizzo di cartelle note nelle applicazioni

Il sistema cartella nota consente di interagire con determinate cartelle ad alto profilo presenti per impostazione predefinita in Windows. Consente inoltre le stesse interazioni con le cartelle installate e registrate con il sistema di cartelle note da parte delle applicazioni. In questo argomento vengono illustrate le possibili interazioni fornite dalle API cartella note.

Importante

Per reindirizzare le cartelle Documenti, Immagini o Desktop a OneDrive, usare Lo spostamento di cartelle note di OneDrive anziché il metodo di reindirizzamento descritto in questo articolo. Per informazioni, vedere Reindirizzare e spostare le cartelle note di Windows in OneDrive.

Interfacce di cartelle note

Esistono due interfacce cartella note: IKnownFolder e IKnownFolderManager.

IKnownFolderManager offre molte delle funzioni più generali relative a queste cartelle. I suoi metodi consentono di:

  • Recuperare un oggetto IKnownFolder in base a KNOWNFOLDERID della cartella, al nome canonico, al percorso espresso come stringa o al relativo percorso espresso come IDList.
  • Convertire un CSIDL nell'equivalente KNOWNFOLDERID o convertire un OGGETTO KNOWNFOLDERID nell'equivalente CSIDL legacy.
  • Registrare o annullare la registrazione di una cartella nota con il sistema.
  • Recuperare tutti i valori KNOWNFOLDERID registrati nel sistema.
  • Reindirizzare una cartella nota a un nuovo percorso.

IKnownFolder fornisce un metodo che consente a una cartella di reindirizzarsi fornendo un nuovo percorso. Gli altri metodi ottengono informazioni su una cartella nota specifica, tra cui:

  • Categoria della cartella: virtuale, fissa, comune o per utente.
  • Tipo di cartella, ad esempio compressi, documenti, immagini o file utente.
  • KNOWNFOLDERID della cartella.
  • Percorso completo della cartella come IDList o come stringa. Anche il relativo percorso di una cartella padre.
  • Nome canonico della cartella.
  • Descrizione comando visualizzata per la cartella.
  • Icona visualizzata per la cartella.
  • Descrizione della cartella che ne spiega lo scopo e l'uso.
  • Indica se la cartella è in grado di essere reindirizzata.

IKnownFolder fornisce anche un metodo per recuperare un oggetto IShellItem basato sulla cartella . Ciò consente di associare la cartella a un gestore, confrontare due cartelle e recuperare gli attributi della cartella, il nome visualizzato e la cartella padre.

Reindirizzamento

Il reindirizzamento delle cartelle è una funzionalità importante del sistema di cartelle note. Tutte le cartelle note della categoria comuniKF_CATEGORY_COMMON* o per utenteKF_CATEGORY_PERUSER* sono reindirizzabili. Impossibile reindirizzare la cartella del KF_CATEGORY_VIRTUAL KF_CATEGORY_FIXED virtuale di categoria o fixedr.

Le cartelle possono essere reindirizzate a un'altra posizione nello stesso computer o a un percorso in una rete. Nel caso di un reindirizzamento di rete, la cartella può essere memorizzata nella cache locale tramite la memorizzazione nella cache lato client per fornire l'accesso offline. Tuttavia, anche se esiste una cache locale, è necessario accedere alla cartella reindirizzata stessa tramite la rete.

Il reindirizzamento delle cartelle non è nuovo per Windows Vista. Ad esempio, in Windows XP alcune cartelle identificate tramite il sistema CSIDL possono essere reindirizzate tramite una chiamata a SHSetFolderPath o modificando la voce di CSIDL nel Registro di sistema. In Windows Vista e versioni successive, il reindirizzamento deve essere eseguito tramite IKnownFolder::SetPath o SHSetKnownFolderPath.

Per determinare se è possibile reindirizzare una cartella, chiamare IKnownFolder::GetRedirectionCapabilities. Se la cartella non può essere reindirizzata, questa chiamata può fornire una spiegazione.

Se una cartella viene reindirizzata a un percorso di rete, i metodi IKnownFolder possono comunque essere chiamati correttamente.

Esempio di cartelle note