windows – 如何在用户创建挂载点时收到通知?

首先,这里是约束:

>必须在XP上运行
>必须通知两个驱动器号分配并将卷装入文件夹
>如果车辆正在睡觉,一定不要“叫醒”.
>我真的不想轮询驱动器.

我尝试过的:

>谷歌
>我查看了WMI和Win32_LogicalDisk类.我可以确定哪些驱动器安装到驱动器号,但不能安装到文件夹. Win32_Volume *和Win32_MountPoint类是完美的,但在XP上不可用.
>我尝试使用FindFirstVolume& GetVolumePathNamesForVolumeName(即使我不想这样做),但似乎驱动器必须先旋转才能提供信息.再次,呃,民意调查.

我正在考虑使用API​​挂钩挂钩对SetVolumeMountPoint和DeleteVolumeMountPoint的调用的可能性,但我不认为这会捕获所有内容,看起来这可能是一个丑陋的黑客无论如何.

所以,是的,我正在寻找建议:)

最佳答案 SetVolumeMountPoint上的API挂钩应该允许您拦截卷安装.我不确定网络份额.

但它不会是一个’丑陋的黑客’.你要做的是在Windows中构建挂钩的内容. Codeproject.com有关于API挂钩的很棒的教程:http://www.codeproject.com/KB/system/hooksys.aspx

所以你实际上已经说明了自己最好的解请记住,还有一个单独的驱动器号API:http://nukz.net/reference/fileio/hh/winbase/fsys_6j8z.htm

你的项目听起来很有趣通常,特洛伊木马和反病毒试图这样做(并且它们也会捕获网络共享.)我只是随便熟悉这个主题,所以我希望这会有所帮助.

点赞