windows - studio - скачать microsoft visual c++ 2012




подавлять автовоспроизведение (2)

Мне нужно отключить автовоспроизведение для запоминающих устройств большой емкости. Это необходимо выполнить программно, используя сервис / деамон, работающий в фоновом режиме.

Я знаю, что это может быть сделано приложением, которое открывает окно и обрабатывает сообщение «queryCancelAutoPlay», отправленное окнами.

Это можно сделать без GUI. У меня есть guid / pid / vid для устройства, автозапуск которого необходимо отключить.


Конечно. Вы можете создать окно только для сообщений. Это дает вам HWND без раздражающих сообщений WM_PAINT и т. Д. Другим способом является использование COM, IQueryCancelAutoplay


Существует запись реестра, которая управляет AutoRun:

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer 

Это можно настроить на то, чтобы отключить AutoRun для определенных типов устройств: от technet :

NoDriveTypeAutoRun

Value   Meaning
0x1     Disables Autoplay on drives of unknown type.
0x4     Disables Autoplay on removable drives.
0x8     Disables Autoplay on fixed drives.
0x10    Disables Autoplay on network drives.
0x20    Disables Autoplay on CD-ROM drives.
0x40    Disables Autoplay on RAM drives.
0x80    Disables Autoplay on drives of unknown type.
0xFF    Disables Autoplay on all types of drives.






autoplay