硬盘信息显示问题求助
现在想用VB做一个显示硬盘分区信息的软件,想法是:在一个工程的窗体中加一个按钮和一个listview控件,现在想在listview控件中显示如下图的硬盘信息,不知道能不实现,我试过,用WMI可以实现我要的这些功能,但是WMI在PE中运行出错,现在在想能不能用API的方式实现,经过一番苦苦百度,最后成功用API实现了在listview中显示硬盘的盘符,卷标,分区大小,接口类型,分区类型这些信息,可是显示硬盘的哪个分区是激活(也就是磁盘管理中的系统)分区的功能搞不定了,网上说用CreateFile这个API函数先读取硬盘的MBR和DPT信息,然后找到标志硬盘分区是不是活动的那个标志信息来判断,可是,当我读取到标志活动分区的信息后又不知道盘符了,也就是说,活动分区的标志信息是在硬盘的物理信息中的,而分区盘符是在逻辑信息中的,它们两怎么关联就搞不清楚了。
现在在想能不能用盘符的方式读取硬盘的活动分区,因为CreateFile这个函数要读取分区是不是活动的,就必须读取硬盘的物理信息,也就是它的句柄应该是:"\\.\PHYSICALDRIVE0" ,如果用"\\.\C:"这个句柄就读不到活动分区的标志信息,不知道有没有其它的API函数可以实现这个功能。
还有个想法就是,如果能用API函数实现判断一个分区是哪块硬盘(有多块硬盘的情况下)的哪个分区,是主分区还是扩展分区,那判断这个分区是不是活动分区应该也就不难了,现在的问题不知道VB怎么实现判断一个分区是哪块硬盘的哪个分区。
小弟刚学VB,水平很菜,还请各位大哥不吝赐教,最好能说的详细一些,要不小弟只会看得一头雾水,在此谢过了!
[[it] 本帖最后由 shuyoufeng 于 2008-10-18 12:05 编辑 [/it]]