Comment intercepter et annuler la lecture automatique depuis une application ?

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

  •  08-06-2019
  •  | 
  •  

Question

Je développe une application pour installer un grand nombre de fichiers de données à partir de plusieurs DVD.L'application invitera l'utilisateur à insérer le disque suivant, mais Windows tentera automatiquement d'ouvrir ce disque soit dans une fenêtre de l'explorateur, soit demandera à l'utilisateur quoi faire avec le nouveau disque.
Comment puis-je intercepter et annuler les messages en lecture automatique de mon application ?

Était-ce utile?

La solution

Il y a deux approches que je connais.La première et la plus simple consiste à enregistrer le message Windows spécial "QueryCancelAutoPlay" et à renvoyer simplement 1 lorsque le message est traité.Cela ne fonctionne que pour la fenêtre actuelle et non pour une application en arrière-plan.

La deuxième approche nécessite d'insérer un objet qui implémente l'interface COM IQueryCancelAutoPlay Interface COM dans la table des objets en cours d'exécution.

Autres conseils

Alternativement, vous pouvez simplement enregistrer par programme l'état actuel de la lecture automatique et le désactiver au démarrage de votre programme, puis restaurer l'état d'origine à la fermeture de votre programme.Ce serait beaucoup plus simple.Vérifier la clé NoDriveTypeAutoRun.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top