禁止自动播放

我需要禁止海量存储设备的自动播放。 这需要通过在后台运行的服务/守护程序来编程实现。

我知道这可以通过打开一个窗口并处理窗口发送的“queryCancelAutoPlay”消息的应用程序来完成。

这可以做到没有GUI.I具有guid / pid / vid为自动播放需要被禁用的设备。

当然。 您可以创建一个仅消息窗口。 这给你一个HWND没有那些恼人的WM_PAINT消息等。另一种方法是使用COM, IQueryCancelAutoplay

有一个控制自动运行的注册表项:

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.