注册表系统安装时间算法:
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
http://support.microsoft.com/?id=232227
读取注册表获取系统安装时间:
![程序代码](http://www.lunhui.net.cn/p_w_picpaths/code.gif)
#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获取系统安装时间:
![程序代码](http://www.lunhui.net.cn/p_w_picpaths/code.gif)
$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获取系统时间:
注意:此函数只是列出系统信息,并没有分类!
![程序代码](http://www.lunhui.net.cn/p_w_picpaths/code.gif)
$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
转载于:https://blog.51cto.com/shenyaoyuan/202111