我正试图初始化,分区和格式化磁盘从应用程序。 操作系统是Windows Server 2008 R2。 这些任务使用哪种方法并不重要,但我们假设我正在使用DeviceIoControl API。
只要应用程序初始化并创build一个分区,Windows将popup一个消息框,指出“您需要格式化磁盘…
“
所以,即使我的应用程序立即格式化这个磁盘,消息框仍然会在那里,用户会感到困惑,并且可以重新格式化。
有没有办法阻止Windowspopup消息框?
因为它似乎情况是有点复杂,然后我虽然本来。 让我在这里解释我的发现,可能会对其他人有用。
这真的很重要你正在初始化和格式化驱动器。 例如,下面的diskpart脚本将完成所有操作,Windows 不会弹出该消息:
select disk 2 create partition primary select part 1 format fs=ntfs label="NEW DISK" quick assign letter Z exit
如果您尝试先指定字母,然后执行格式 – 则会显示信息。
但在我的情况下,我不想依赖于diskpart。 我使用DeviceIoControl API来初始化和分区磁盘,然后等待WMI识别卷,所以我可以通过WMI格式化它。
不幸的是锁定设备也不是一个选项。 因为如果我这样做,WMI将无法识别音量。
基于这个答案如何创建一个分区没有Windows分配一个驱动器号? 我决定停下来,开始ShellHWDetection服务,它实际上是完美的。