Как перехватить и отменить автоматическое воспроизведение из приложения?

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

14.08.2008 22:29:57
2 ОТВЕТА
РЕШЕНИЕ

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

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

3
14.08.2008 22:30:37

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

0
19.08.2008 18:37:28