本帖最后由 elexy 于 2011-10-1 13:48 编辑
不考虑多块硬盘的情况,就是当前使用的硬盘总容量。
这段代码可行,但是不能插入U盘,一插入U盘/移动硬盘,计算的就是U盘/移动硬盘的容量了。
而且如果存在读卡器,也就是只要打开我的电脑里面有 可移动磁盘 就读不出来硬盘的数值。
AU3内置的一些如 DirGetSize 之类函数,在WIN系统下是读不出隐藏分区的,容量不准的, 不知道怎么解决???
初步想法是 利用$HDID = $mo.DeviceID判断,默认磁盘这个值都是\\.\PHYSICALDRIVE0 ,只计算这个值的磁盘容量不知道代码怎么实现?或是有更好的办法?$strComputer = "."
$objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\" & $strComputer & "\root\cimv2")
$moc = $objWMIService.ExecQuery("Select * from Win32_DiskDrive")
For $mo In $moc
$HDsize0 = Round($mo.Size / 1024 / 1024 / 1024)
$HDID = $mo.DeviceID
Next
msgbox(0, $HDID ,$HDsize0)
|