Cómo interceptar y cancelar la reproducción automática de una aplicación?

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

  •  08-06-2019
  •  | 
  •  

Pregunta

Estoy desarrollando una aplicación para instalar un gran número de archivos de datos de varios Dvd.La aplicación le pedirá al usuario que introduzca el siguiente disco, sin embargo Windows automáticamente intentar abrir el disco, ya sea en una ventana del explorador o preguntar al usuario qué hacer con el nuevo disco.
¿Cómo puedo interceptar y cancelar la reproducción automática de los mensajes de mi aplicación?

¿Fue útil?

Solución

Hay dos enfoques, que yo sepa.El primero y más simple es el registro de la especial de mensaje de Windows "QueryCancelAutoPlay" y simplemente devuelve 1 cuando se controla el mensaje.Esto sólo funciona para la ventana actual, y no una aplicación de fondo.

El segundo enfoque requiere la inserción de un objeto que implementa la interfaz COM IQueryCancelAutoPlay Interfaz COM en la Tabla de Objetos en Ejecución.

Otros consejos

Alternativamente, usted puede guardar mediante programación el estado actual de la reproducción automática y desactivarlo cuando el programa se inicia, a continuación, restaurar el estado original cuando el programa se cierra.Esto sería mucho más sencillo.Echa un vistazo el NoDriveTypeAutoRun clave.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top