Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Notifica al sistema di un evento eseguito da un'applicazione. Un'applicazione deve usare questa funzione se esegue un'azione che può influire sulla shell.
Sintassi
void SHChangeNotify(
LONG wEventId,
UINT uFlags,
[in, optional] LPCVOID dwItem1,
[in, optional] LPCVOID dwItem2
);
Parametri
wEventId
Tipo: LONG
Descrive l'evento che si è verificato. In genere, viene specificato un solo evento alla volta. Se vengono specificati più eventi, i valori contenuti nei parametri dwItem1 e dwItem2 devono essere rispettivamente uguali per tutti gli eventi specificati. Questo parametro può essere uno o più dei valori seguenti:
SHCNE_ALLEVENTS
Tutti gli eventi si sono verificati.
SHCNE_ASSOCCHANGED
È stata modificata un'associazione di tipi di file. SHCNF_IDLIST deve essere specificato nel parametro uFlags . dwItem1 e dwItem2 non vengono usati e devono essere NULL. Questo evento deve essere inviato anche per i protocolli registrati.
SHCNE_ATTRIBUTES
Gli attributi di un elemento o di una cartella sono stati modificati. SHCNF_IDLIST o SHCNF_PATH devono essere specificati in uFlags. dwItem1 contiene l'elemento o la cartella che è stata modificata. dwItem2 non viene usato e deve essere NULL.
SHCNE_CREATE
È stato creato un elemento nonfolder. SHCNF_IDLIST o SHCNF_PATH devono essere specificati in uFlags. dwItem1 contiene l'elemento creato. dwItem2 non viene usato e deve essere NULL.
SHCNE_DELETE
È stato eliminato un elemento nonfolder. SHCNF_IDLIST o SHCNF_PATH devono essere specificati in uFlags. dwItem1 contiene l'elemento eliminato. dwItem2 non viene usato e deve essere NULL.
SHCNE_DRIVEADD
È stata aggiunta un'unità. SHCNF_IDLIST o SHCNF_PATH devono essere specificati in uFlags. dwItem1 contiene la radice dell'unità aggiunta. dwItem2 non viene usato e deve essere NULL.
SHCNE_DRIVEADDGUI
Windows XP e versioni successive: non usato.
SHCNE_DRIVEREMOVED
Un'unità è stata rimossa. SHCNF_IDLIST o SHCNF_PATH devono essere specificati in uFlags. dwItem1 contiene la radice dell'unità rimossa. dwItem2 non viene usato e deve essere NULL.
SHCNE_EXTENDED_EVENT
Attualmente non utilizzato.
SHCNE_FREESPACE
La quantità di spazio libero in un'unità è cambiata. SHCNF_IDLIST o SHCNF_PATH devono essere specificati in uFlags. dwItem1 contiene la radice dell'unità in cui è stato modificato lo spazio libero. dwItem2 non viene usato e deve essere NULL.
SHCNE_MEDIAINSERTED
I supporti di archiviazione sono stati inseriti in un'unità. SHCNF_IDLIST o SHCNF_PATH devono essere specificati in uFlags. dwItem1 contiene la radice dell'unità che contiene i nuovi supporti. dwItem2 non viene usato e deve essere NULL.
SHCNE_MEDIAREMOVED
I supporti di archiviazione sono stati rimossi da un'unità. SHCNF_IDLIST o SHCNF_PATH devono essere specificati in uFlags. dwItem1 contiene la radice dell'unità da cui è stato rimosso il supporto. dwItem2 non viene usato e deve essere NULL.
SHCNE_MKDIR
È stata creata una cartella. SHCNF_IDLIST o SHCNF_PATH devono essere specificati in uFlags. dwItem1 contiene la cartella creata. dwItem2 non viene usato e deve essere NULL.
SHCNE_NETSHARE
Una cartella nel computer locale viene condivisa tramite la rete. SHCNF_IDLIST o SHCNF_PATH devono essere specificati in uFlags. dwItem1 contiene la cartella condivisa. dwItem2 non viene usato e deve essere NULL.
SHCNE_NETUNSHARE
Una cartella nel computer locale non viene più condivisa tramite la rete. SHCNF_IDLIST o SHCNF_PATH devono essere specificati in uFlags. dwItem1 contiene la cartella che non è più condivisa. dwItem2 non viene usato e deve essere NULL.
SHCNE_RENAMEFOLDER
Il nome di una cartella è cambiato. SHCNF_IDLIST o SHCNF_PATH devono essere specificati in uFlags. dwItem1 contiene il nome o piDL precedente della cartella. dwItem2 contiene il nuovo PIDL o il nome della cartella.
SHCNE_RENAMEITEM
Il nome di un elemento nonfolder è stato modificato. SHCNF_IDLIST o SHCNF_PATH devono essere specificati in uFlags. dwItem1 contiene il nome o piDL precedente dell'elemento. dwItem2 contiene il nuovo PIDL o il nome dell'elemento.
SHCNE_RMDIR
È stata rimossa una cartella. SHCNF_IDLIST o SHCNF_PATH devono essere specificati in uFlags. dwItem1 contiene la cartella rimossa. dwItem2 non viene usato e deve essere NULL.
SHCNE_SERVERDISCONNECT
Il computer è disconnesso da un server. SHCNF_IDLIST o SHCNF_PATH devono essere specificati in uFlags. dwItem1 contiene il server da cui è stato disconnesso il computer. dwItem2 non viene usato e deve essere NULL.
SHCNE_UPDATEDIR
Il contenuto di una cartella esistente è stato modificato, ma la cartella esiste ancora e non è stata rinominata. SHCNF_IDLIST o SHCNF_PATH devono essere specificati in uFlags. dwItem1 contiene la cartella modificata. dwItem2 non viene usato e deve essere NULL. Se una cartella è stata creata, eliminata o rinominata, usare rispettivamente SHCNE_MKDIR, SHCNE_RMDIR o SHCNE_RENAMEFOLDER.
SHCNE_UPDATEIMAGE
Un'immagine nell'elenco di immagini di sistema è stata modificata. SHCNF_DWORD deve essere specificato in uFlags.
dwItem2 contiene l'indice nell'elenco di immagini di sistema che è stato modificato. dwItem1 non viene usato e deve essere NULL.
SHCNE_UPDATEITEM
Un elemento esistente (una cartella o una non cartella) è stato modificato, ma l'elemento esiste ancora e non è stato rinominato. SHCNF_IDLIST o SHCNF_PATH devono essere specificati in uFlags. dwItem1 contiene l'elemento modificato. dwItem2 non viene usato e deve essere NULL. Se un elemento nonfolder è stato creato, eliminato o rinominato, utilizzare rispettivamente SHCNE_CREATE, SHCNE_DELETE o SHCNE_RENAMEITEM.
SHCNE_DISKEVENTS
Specifica una combinazione di tutti gli identificatori di evento del disco.
SHCNE_GLOBALEVENTS
Specifica una combinazione di tutti gli identificatori di evento globali.
SHCNE_INTERRUPT
L'evento specificato si è verificato in seguito a un'interruzione di sistema. Poiché questo valore modifica altri valori di evento, non può essere usato da solo.
uFlags
Tipo: UINT
Flag che, se combinati bit per bit con SHCNF_TYPE, indicano il significato dei parametri dwItem1 e dwItem2. Il parametro uFlags deve essere uno dei valori seguenti.
SHCNF_DWORD
I parametri dwItem1 e dwItem2 sono valori DWORD .
SHCNF_IDLIST
dwItem1 e dwItem2 sono gli indirizzi delle strutture ITEMIDLIST che rappresentano gli elementi interessati dalla modifica. Ogni ITEMIDLIST deve essere relativo alla cartella desktop.
SHCNF_PATH
dwItem1 e dwItem2 sono gli indirizzi di stringhe con terminazione Null di lunghezza massima MAX_PATH che contengono i nomi di percorso completi degli elementi interessati dalla modifica.
SHCNF_PRINTER
dwItem1 e dwItem2 sono gli indirizzi di stringhe con terminazione Null che rappresentano i nomi descrittivi delle stampanti interessate dalla modifica.
SHCNF_FLUSH
La funzione non deve restituire finché la notifica non viene recapitata a tutti i componenti interessati. Poiché questo flag modifica altri flag di tipo dati, non può essere usato da solo.
SHCNF_FLUSHNOWAIT
La funzione deve iniziare a recapitare notifiche a tutti i componenti interessati, ma deve restituire non appena è iniziato il processo di notifica. Poiché questo flag modifica altri flag di tipo dati, non può essere usato da solo. Questo flag include SHCNF_FLUSH.
SHCNF_NOTIFYRECURSIVE
Notificare ai client registrati per tutti gli elementi figlio.
[in, optional] dwItem1
Tipo: LPCVOID
facoltativo. Primo valore dipendente dall'evento.
[in, optional] dwItem2
Tipo: LPCVOID
facoltativo. Secondo valore dipendente dall'evento.
Valore restituito
nessuno
Osservazioni
Le applicazioni che registrano nuovi gestori di qualsiasi tipo devono chiamare SHChangeNotify con il flag SHCNE_ASSOCCHANGED per indicare a Shell di invalidare l'icona e la cache di anteprima. Verrà caricata anche una nuova icona e gestori di anteprima registrati. Si noti, tuttavia, che i gestori di sovrapposizione delle icone non vengono ricaricati.
Le stringhe a cui punta dwItem1 e dwItem2 possono essere ANSI o Unicode.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | shlobj_core.h (includere Shlobj.h) |
Libreria | Shell32.lib |
DLL | Shell32.dll (versione 4.0 o successiva) |
Set di API | ext-ms-win-shell-shell32-l1-2-0 (introdotto in Windows 8.1) |