Come intercettare e annullare la riproduzione automatica da un'applicazione?

StackOverflow https://stackoverflow.com/questions/11734

  •  08-06-2019
  •  | 
  •  

Domanda

Sto sviluppando un'applicazione per installare un gran numero di file di dati da più DVD.L'applicazione richiederà all'utente di inserire il disco successivo, tuttavia Windows proverà automaticamente ad aprire quel disco in una finestra di Explorer o chiederà all'utente cosa fare con il nuovo disco.
Come posso intercettare e cancellare i messaggi di riproduzione automatica dalla mia applicazione?

È stato utile?

Soluzione

Ci sono due approcci che conosco.Il primo e più semplice è registrare il messaggio speciale di Windows "QueryCancelAutoPlay" e restituire semplicemente 1 quando il messaggio viene gestito.Funziona solo per la finestra corrente e non per un'applicazione in background.

Il secondo approccio richiede l'inserimento di un oggetto che implementa l'interfaccia COM IQueryCancelAutoPlay Interfaccia COM nella tabella degli oggetti in esecuzione.

Altri suggerimenti

In alternativa, potresti semplicemente salvare a livello di codice lo stato corrente della riproduzione automatica e disattivarlo all'avvio del programma, quindi ripristinare lo stato originale alla chiusura del programma.Questo sarebbe molto più semplice.Guardare la chiave NoDriveTypeAutoRun.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top