#include Dim $Path = "C:\_\Apps\AutoIT3\_Development\SMART\smart.exe" Dim $sRecord, $sDataOut Dim $Column1,$Column2,$Column3,$Column4,$Column5,$Column6,$Column7,$Column8 ;Dim $hQuery, $iRval, $aResult, $iRows, $aRow, $iColumns _Smart() _PopulateColumns() Func _Smart() $Smart = Run($Path, "", @SW_HIDE, 2) Local $sDataOut = "" Sleep(500) While 1 $sDataOut &= StdOutRead($Smart) If @error = -1 Then ExitLoop $sRecord = stringsplit($sDataOut,@CRLF) WEnd Return $sRecord EndFunc Func _PopulateColumns() For $i = 27 to 59 Step 2 $Column0 = _Now() $Column1 = Stringleft($sRecord[$i],4) $Column2 = stringmid($sRecord[$i],6,26) $Column3 = stringmid($sRecord[$i],33,10) $Column4 = stringmid($sRecord[$i],45,3) $Column5 = stringmid($sRecord[$i],51,3) $Column6 = stringmid($sRecord[$i],57,3) $Column7 = stringmid($sRecord[$i],62,9) $Column8 = stringmid($sRecord[$i],72,2) If $Column8 = "OK" Then Run("eventcreate /T Information /ID 100 /L Application /SO SMART /D " & _ Chr(34) & "SMART Harddisk Status : "&$Column8 & _ @CR&"ID"&" "&"Attribute"&@Tab&@Tab&"Type"&@Tab&"Threshold"&@Tab&" Value"&" "&"Worst"&" "&"Raw"& _ @CR&$Column1&" "&$Column2&" "&$Column3&" "&$Column4&@Tab&$Column5&" "&$Column6&" "&$Column7&Chr(34), "", @SW_HIDE, 2) Else Run("eventcreate /T Error /ID 999 /L Application /D " & _ Chr(34) & "SMART Harddisk Status : "&$Column8 & _ @CR&"ID"&" "&"Attribute"&@Tab&@Tab&"Type"&@Tab&"Threshold"&@Tab&" Value"&" "&"Worst"&" "&"Raw"& _ @CR&$Column1&" "&$Column2&" "&$Column3&" "&$Column4&@Tab&$Column5&" "&$Column6&" "&$Column7&Chr(34), "", @SW_HIDE, 2) Endif Next EndFunc