lsq726 发表于 2010-3-27 18:58:03

谢谢在别的地方看到了传送门 http://www.autoitx.com/forum.php?mod=viewthread&tid=7080&from=favorites

afan 发表于 2010-3-27 19:34:00

回复 1# lsq726


    多个硬盘应该也能搞定,你测试下~Local $iPid = Run('wmic DISKDRIVE get Caption', '', 0, 2), $Stdout
While 1
        Sleep(1)
        $Stdout &= StdoutRead($iPid)
        If @error Then ExitLoop
WEnd
$sR = StringRegExp($Stdout, '\n(.+?)\s+\r', 3)

#include <Array.au3>
_ArrayDisplay($sR, '')

netegg 发表于 2010-3-28 10:54:44

#Include <WinAPIEx.au3>
_Winapi_GetDiskSerialNumber( $sDrive )
不知道楼主要的是不是这个

weixiong1984 发表于 2010-3-28 18:40:54

DriveGetLabel("盘符")

lsq726 发表于 2010-3-29 01:32:13

回复lsq726


    多个硬盘应该也能搞定,你测试下~
afan 发表于 2010-3-27 19:34 http://www.autoitx.com/images/common/back.gif


    是的,测试可以多硬盘。。
好多种方法呢。太感谢了。:face (29):

lluxury 发表于 2010-3-29 09:13:16

楼主就一伸手,代码都出来了,不能自己分析下....

rikthhpgf2005 发表于 2010-3-29 09:20:30

也要以调用dll传参:face (14):

dabaiyun 发表于 2010-3-30 06:25:16

真的很不错的帖子
好好的学习

xz00311 发表于 2010-3-30 10:20:57

学习中高手都来了正需要

lsq726 发表于 2010-4-1 03:30:55

回复lsq726


    多个硬盘应该也能搞定,你测试下~
afan 发表于 2010-3-27 19:34 http://www.autoitx.com/images/common/back.gif

有感于afan的贴使用了WMI里的功能并删除了不想要的信息。。
只是知其所以,而不知其所以然。。; 生成于 AutoIt Scriptomatic

__wmi_Win32_DiskDrive()
Func __wmi_Win32_DiskDrive()
        Local $wbemFlagReturnImmediately = 0x10
        Local $wbemFlagForwardOnly = 0x20
        Local $colItems = ""
        Local $strComputer = "localhost"

        Local $Output=""
;~         $Output &= "Computer: " & $strComputer& @CRLF
;~         $Output &= "==========================================" & @CRLF
        Local $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
        $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive", "WQL", _
                                          $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

        If IsObj($colItems) then
           For $objItem In $colItems
              $Output &= $objItem.Caption & @CRLF
              if Msgbox(1,"WMI Output",$Output) = 2 then ExitLoop
              $Output=""
           Next
        Else
           Msgbox(0,"WMI 输出","没有在类 " & "Win32_DiskDrive" & "中找到WMI对象" )
        Endif
EndFunc


Func WMIDateStringToDate($dtmDate)

        Return (StringMid($dtmDate, 5, 2) & "/" & _
        StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _
        & " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate,13, 2))
EndFunc

kodin 发表于 2010-4-1 09:21:59

:face (36):我仅仅想说:安装目录就有这例子,就是没人看,杯具!白写了!

lsq726 发表于 2010-4-2 04:34:28

我仅仅想说:安装目录就有这例子,就是没人看,杯具!白写了!
kodin 发表于 2010-4-1 09:21 http://autoitx.com/images/common/back.gif


    名字是什么,,?这样还是不知道该看哪个。

lxz 发表于 2010-4-2 06:38:01

很好的学习例子...
页: 1 [2]
查看完整版本: 求助怎么读取 系统里硬盘的名字?有图[已经解决谢谢热情的你们:)]