注册表系统安装时间算法:

http://support.microsoft.com/?id=232227

读取注册表获取系统安装时间:
程序代码 程序代码

#Include <Date.au3>

$InstallDate = RegRead("HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\", "InstallDate")
$InstallDate = _DateAdd( 's',$InstallDate, "1970/01/01 00:00:00")
MsgBox(64, "测试", "系统安装时间是:" & $InstallDate)




通过WMI获取系统安装时间:
程序代码 程序代码

$wbemFlagReturnImmediately = 0x10
$wbemFlagForwardOnly = 0x20
$strComputer = "localhost"
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery("Select * FROM Win32_OperatingSystem ", "WQL", _
                                          $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

If IsObj($colItems) then
   For $objItem In $colItems
    
      $InstallDate=WMIDateStringToDate($objItem.InstallDate)
    
   Next
Else
   Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_OperatingSystem" )
Endif
MsgBox(0,"InstallDate",$InstallDate)

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



通过CMD获取系统时间:

注意:此函数只是列出系统信息,并没有分类!
程序代码 程序代码

$SysInfo_Read = _RunStdOutRead("SystemInfo")

ConsoleWrite($SysInfo_Read)

Func _RunStdOutRead($sRunCmd)
    Local $iPID = Run(@ComSpec & ' /c ' & $sRunCmd, @SystemDir, @SW_HIDE,  2)
    Local $sStdOutRead = ""

While 1
    $sStdOutRead &= StdoutRead($iPID)
    If @error Then ExitLoop
Wend
    
    Return $sStdOutRead
EndFunc