suppress autoplay

心不动则不痛 提交于 2019-12-19 20:46:20

问题


I need to suppress autoplay for the mass storage devices. This needs to be achieved programatically through a service/deamon running in the background.

I know it can be done by an application which opens a window and handles the "queryCancelAutoPlay" message sent by windows.

Can this be done without GUI.I have the guid/pid/vid for the device whose autoplay needs to be disabled.


回答1:


Sure. You can create a message-only window. That gives you a HWND without those annoying WM_PAINT messages etc. The other way is to use COM, IQueryCancelAutoplay




回答2:


There is a registry entry that controls AutoRun:

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

This can be set to disable AutoRun on specific device types, from 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.


来源:https://stackoverflow.com/questions/280787/suppress-autoplay

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!