【问题标题】:Hide removable drive in the MS Windows explorer?在 MS Windows 资源管理器中隐藏可移动驱动器?
【发布时间】:2013-04-13 16:06:24
【问题描述】:

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

【问题讨论】:

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

标签: c winapi systems-programming


【解决方案1】:

应该很简单。有一个 32 位数字的注册表项,其中应显示驱动器的位置为 1。如果您可以提取所需的驱动器号,那么它应该像编辑此注册表项一样简单(我相信这可以使用 winapi 完成)。

http://genesisdatabase.wordpress.com/2010/10/12/reading-and-writing-registry-in-windows-using-winapi/

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

然后编辑这个值:

http://www.howtogeek.com/howto/windows-vista/hide-drives-from-your-computer-in-windows-vista/

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-12
    • 1970-01-01
    • 2012-10-02
    • 2019-08-03
    相关资源
    最近更新 更多