подавить автозапуск - PullRequest
4 голосов
/ 11 ноября 2008

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

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

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

Ответы [ 2 ]

2 голосов
/ 11 ноября 2008

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

0 голосов
/ 11 ноября 2008

В реестре есть запись, управляющая автозапуском:

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

Это можно установить для отключения автозапуска на определенных типах устройств, начиная с 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.
...