Что нового

Как получить число из другого окна

xdacc

Новичок
Сообщения
4
Репутация
0
Доброго времени суток. Вопрос: как получить число из другого окна (значение температуры из SpeedFan)?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
:rofl:acc
ИМХО, посмотреть с помощью AutoIt v3 Window Info заголовок Вашего окна, ID нужного поля и
Код:
$sTemp = ControlGetText('Title', '', 'ID')
MsgBox(64, '', $sTemp)
 
Автор
X

xdacc

Новичок
Сообщения
4
Репутация
0
madmasles
Если бы... Window Info при наведении на температуры выдает лишь обьект TJvPanel, НА котором и написаны температуры. При этом в Text пусто.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
:rofl:acc
Дайте ссылку на SpeedFan.
 
Автор
X

xdacc

Новичок
Сообщения
4
Репутация
0
А, все, вопрос закрыт. Вместо SpeedFan поставил Core Temp - там все нормально выбирается.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
:rofl:acc
Можно еще из трея получить данные:
Код:
#include <_SysTray.au3>
#include <Process.au3>

$sProcess = 'speedfan.exe'
If ProcessExists($sProcess) Then
	MsgBox(64, 'Info', _GetTempHD($sProcess))
Else
	MsgBox(16, 'Info', 'No process ' & $sProcess)
EndIf

Func _GetTempHD($sNameProcess)
	Local $i, $handle, $pid, $name
	Local $count = _SysTrayIconCount()
	If Not $count Then Return 0
	For $i = 0 To $count - 1
		$handle = _SysTrayIconHandle($i)
		$pid = WinGetProcess($handle)
		$name = _ProcessGetName($pid)
		If $name = $sNameProcess Then
			$tooltip = _SysTrayIconTooltip($i)
			ExitLoop
		EndIf
	Next
	Return $tooltip
EndFunc   ;==>_GetTempHD
 
Верх