Как перехватить и отменить автовоспроизведение из приложения?
Вопрос
Я разрабатываю приложение для установки большого количества файлов данных с нескольких DVD-дисков.Приложение предложит пользователю вставить следующий диск, однако Windows автоматически попытается открыть этот диск либо в окне проводника, либо спросит пользователя, что делать с новым диском.
Как я могу перехватить и отменить сообщения автоматического воспроизведения из моего приложения?
Решение
Есть два подхода, о которых я знаю.Первый и самый простой — зарегистрировать специальное сообщение Windows «QueryCancelAutoPlay» и просто возвращать 1 при обработке сообщения.Это работает только для текущего окна, а не для фонового приложения.
Второй подход требует вставки объекта, реализующего COM-интерфейс. IQueryCancelAutoPlay
COM-интерфейс в таблицу выполняемых объектов.
Другие советы
В качестве альтернативы вы можете просто программно сохранить текущее состояние автозапуска и отключить его при запуске программы, а затем восстановить исходное состояние при закрытии программы.Это было бы намного проще.Проверить ключ NoDriveTypeAutoRun.