Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


andr_mozg, от Ctrl+S толку мало, т.к. в скрытое окно Send() не принимает, но можно прочитать данные прямо с контрола SysTreeView32:
Код: Выделить весь код
#include <GuiTreeView.au3>

$sHWMon_DIR = @ProgramFilesDir &"\HWMonitor"
$sHWMon_EXE = $sHWMon_DIR & "\HWMonitor.exe"
$iHWMon_PID = Run($sHWMon_EXE, $sHWMon_DIR, @SW_MINIMIZE)

WinWait("CPUID")
WinSetState("CPUID", "", @SW_HIDE)

While ProcessExists($iHWMon_PID)
    $aTmp = _CPUID_GetTemp()
    ConsoleWrite("------"& @HOUR &":"& @MIN &":"& @SEC &"-------"& @CRLF)
    For $i=1 To $aTmp[0][0]
        ConsoleWrite($aTmp[$i][0] &@TAB&":"& $aTmp[$i][1] &" | "& $aTmp[$i][2] &" | "& $aTmp[$i][3] &@CRLF)
    Next
    Sleep(1000)
WEnd

Func _CPUID_GetTemp()
    Local $hCPU = ControlGetHandle("CPUID", "", "SysTreeView321")
    Local $iCnt, $sTxt, $aTxt, $hTmp=0, $aOut[1][4]=[[0]]

    While 1
        $hTmp = _GUICtrlTreeView_FindItem($hCPU, "Temperatures", False, $hTmp)
        If $hTmp = 0 Then ExitLoop

        $iCnt = _GUICtrlTreeView_GetChildCount($hCPU, $hTmp)
        For $j=1 To $iCnt
            $hTmp = _GUICtrlTreeView_GetNext($hCPU, $hTmp)
            $sTxt = _GUICtrlTreeView_GetText($hCPU, $hTmp)
            $aTxt = StringRegExp($sTxt, "\s*(.*?)\s*(\d+) +°C", 3)
            If UBound($aTxt) <> 6 Then ContinueLoop
            $aOut[0][0]+=1
            ReDim $aOut[$aOut[0][0]+1][4]
            $aOut[$aOut[0][0]][0] = $aTxt[0]
            $aOut[$aOut[0][0]][1] = $aTxt[1]
            $aOut[$aOut[0][0]][2] = $aTxt[3]
            $aOut[$aOut[0][0]][3] = $aTxt[5]
        Next
    WEnd

    Return $aOut
EndFunc
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:07, 30-07-2009 | #12