找回密码
 加入
搜索
楼主: lsq726

[网络通信] 求助怎么读取 系统里硬盘的名字?有图[已经解决谢谢热情的你们:)]

 火.. [复制链接]
 楼主| 发表于 2010-3-27 18:58:03 | 显示全部楼层
谢谢在别的地方看到了传送门 http://www.autoitx.com/forum.php ... &from=favorites
发表于 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, '')
发表于 2010-3-28 10:54:44 | 显示全部楼层
#Include <WinAPIEx.au3>
_Winapi_GetDiskSerialNumber( $sDrive )
不知道楼主要的是不是这个
发表于 2010-3-28 18:40:54 | 显示全部楼层
DriveGetLabel("盘符")

评分

参与人数 1金钱 -10 收起 理由
afan -10 恶意灌水,扣分警告!

查看全部评分

 楼主| 发表于 2010-3-29 01:32:13 | 显示全部楼层
回复  lsq726


    多个硬盘应该也能搞定,你测试下~
afan 发表于 2010-3-27 19:34



    是的,测试可以多硬盘。。
好多种方法呢。太感谢了。
发表于 2010-3-29 09:13:16 | 显示全部楼层
楼主就一伸手,代码都出来了,不能自己分析下....
发表于 2010-3-29 09:20:30 | 显示全部楼层
也要以调用dll传参
发表于 2010-3-30 06:25:16 | 显示全部楼层
真的很不错的帖子
好好的学习
发表于 2010-3-30 10:20:57 | 显示全部楼层
学习中高手都来了正需要
 楼主| 发表于 2010-4-1 03:30:55 | 显示全部楼层
回复  lsq726


    多个硬盘应该也能搞定,你测试下~
afan 发表于 2010-3-27 19:34


有感于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

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

发表于 2010-4-1 09:21:59 | 显示全部楼层
我仅仅想说:安装目录就有这例子,就是没人看,杯具!白写了!
 楼主| 发表于 2010-4-2 04:34:28 | 显示全部楼层
我仅仅想说:安装目录就有这例子,就是没人看,杯具!白写了!
kodin 发表于 2010-4-1 09:21



    名字是什么,,?这样还是不知道该看哪个。
发表于 2010-4-2 06:38:01 | 显示全部楼层
很好的学习例子...
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-16 19:24 , Processed in 0.071958 second(s), 15 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表