Может ли автовоспроизведение и WIA программно сброситься до значения по умолчанию «Спроси меня?»? - PullRequest
1 голос
/ 28 мая 2009

У меня есть код, который рекламирует обработчики Autoplay и WIA для чтения файлов изображений с карт памяти и цифровых камер соответственно, и он отлично работает.

Однако я хотел бы сбросить обработчики автозапуска и WIA по умолчанию «Спрашивать, что делать каждый раз» при первом запуске моего приложения. Зачем? Потому что, если у пользователя есть обработчики, настроенные на что-то другое, то, когда он / она пытается использовать мое приложение, его машина все равно будет делать что-то другое, и тогда он / она пожалуется мне, что мое приложение не работает, когда на самом деле машина просто выполняет свои предыдущие настройки.

Так есть ли способ сбросить обработчики Autoplay и WIA программно? Я предполагаю, что есть какой-то вызов API (предпочтительно Win32 и , а не .Net) или параметры реестра, которые можно изменить.

1 Ответ

0 голосов
/ 15 декабря 2009

Похоже, что настройки автозапуска для каждого пользователя (что соответствует панели управления автозапуском в Windows Vista и 7) находятся в папке HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ AutoplayHandlers \ UserChosenExecuteHandlers. Здесь есть подраздел для каждой категории устройства автозапуска или типа мультимедиа; изменение значения по умолчанию подраздела на MSPromptEachTime должно восстановить поведение «Спросите меня, что делать каждый раз». (Хотя панель управления Autoplay является новой для Vista и 7, в XP существуют те же ключи реестра, что и для автоигры на основе тома, я думаю, что они работают одинаково.)

Эта статья MSDN содержит более подробную информацию о том, как работает автозапуск.

...