C 是否在MS Windows资源管理器中隐藏可移动驱动器?

C 是否在MS Windows资源管理器中隐藏可移动驱动器?,c,winapi,systems-programming,C,Winapi,Systems Programming,如何在MS Windows资源管理器中对用户隐藏可移动驱动器(如闪存? 我想对用户隐藏可移动驱动器,然后对其执行一些操作,例如删除一些文件或从中读取一些文件,然后向用户显示驱动器。 我试图阻止该驱动器,但当它被阻止时,我无法对其执行任何操作,因此我改变了方法,只对用户隐藏该驱动器。 如果需要,我必须使用纯c和win32 api来完成此操作。 非常感谢,祝你好运。应该很简单。有一个注册表项是一个32位的数字,在应该显示驱动器的地方有一个1。如果您可以提取所需的驱动器号,那么只需编辑此注册表项(我相

如何在MS Windows资源管理器中对用户隐藏可移动驱动器(如闪存?
我想对用户隐藏可移动驱动器,然后对其执行一些操作,例如删除一些文件或从中读取一些文件,然后向用户显示驱动器。
我试图阻止该驱动器,但当它被阻止时,我无法对其执行任何操作,因此我改变了方法,只对用户隐藏该驱动器。
如果需要,我必须使用纯c和win32 api来完成此操作。

非常感谢,祝你好运。

应该很简单。有一个注册表项是一个32位的数字,在应该显示驱动器的地方有一个1。如果您可以提取所需的驱动器号,那么只需编辑此注册表项(我相信这可以通过winapi完成)就可以了

上面是用于编辑注册表的winapi函数。只需在提取字母后将其更改为隐藏驱动器

然后编辑此值:


然后再次更改注册表值以显示驱动器。您不想取消映射驱动器,因为这与隐藏驱动器是不同的概念

你想隐藏特定的驱动器号、任何可移动驱动器或特定的USB ID吗?@Kevin Richardson,特定的驱动器号对我来说是更好的方法:)。非常感谢您的帮助。@David Heffernan,您能给我一些指导吗?非常感谢你的帮助。这就是你想要做的吗?取消映射驱动器。我之所以这样问,是因为我可以想象这个问题会演变成“如何检测何时插入了驱动器?”“如何阻止用户映射驱动器?”等等。还有,这样做的目的是什么?如果您给了我们一些上下文,可能会有所帮助。@David Heffernan,我想对用户隐藏可移动驱动器,然后对其执行一些操作,例如删除一些文件或从中读取一些文件,然后向用户显示驱动器。我试图阻止该驱动器,但当它被阻止时,我无法对其执行任何操作,因此我改变了方法,只对用户隐藏该驱动器。非常感谢你的帮助。