Как перехватить и отменить автоматическое воспроизведение из приложения? - PullRequest
1 голос
/ 15 августа 2008

Я разрабатываю приложение для установки большого количества файлов данных с нескольких DVD. Приложение предложит пользователю вставить следующий диск, однако Windows автоматически попытается открыть этот диск либо в окне обозревателя, либо спросит пользователя, что делать с новым диском.
Как перехватить и отменить автоматическое воспроизведение сообщений из моего приложения?

Ответы [ 2 ]

3 голосов
/ 15 августа 2008

Есть два подхода, о которых я знаю. Первый и самый простой - зарегистрировать специальное сообщение Windows «QueryCancelAutoPlay» и просто вернуть 1, когда сообщение обработано. Это работает только для текущего окна, а не для фонового приложения.

Второй подход требует вставки объекта, который реализует интерфейс COM IQueryCancelAutoPlay COM-интерфейс в таблицу запущенных объектов.

0 голосов
/ 19 августа 2008

Кроме того, вы можете просто программно сохранить текущее состояние автозапуска и выключить его при запуске программы, а затем восстановить исходное состояние при закрытии программы. Это было бы намного проще. Проверьте ключ NoDriveTypeAutoRun .

...