Автор Тема: [Окна, Диалоги] Помогите написать, вывод сообщения при превышении температуры  (Прочитано 244 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Эта тема содержит сообщение, помеченное как лучший ответ. Кликните здесь для перехода к этому сообщению.

Оффлайн ar41 [?]

  • Новичок
  • *
  • Сообщений: 3
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Версия AutoIt: 3.5.4

Описание: Помогите пожалуйста написать скрипт, который предупреждал бы, о повышении температуры длящейся более двух минут, выше 50 градусов. А температуру брал из строчки программы.
Вот скриншот из программы и строчка из которой нужно взять данные.


Примечания:


Внимание: Для просмотра прикреплённых файлов необходимо Войти или Зарегистрироваться

Русское сообщество AutoIt


Оффлайн Tempo [?]

  • Продвинутый
  • ***
  • Сообщений: 392
  • Репутация: 92
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Нужна информация об окне + элементе управления - Control Viewer / AutoIt Window Information

Оффлайн ar41 [?]

  • Новичок
  • *
  • Сообщений: 3

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
>>>> Window <<<<
Title:   Core Temp 1.12.1
Class:   CORETEMP
Position:   1030, 0
Size:   336, 356
Style:   0x14CA0000
ExStyle:   0x00000100
Handle:   0x00000000001B0AC0

>>>> Control <<<<
Class:   Static
Instance:   42
ClassnameNN:   Static42
Name:   
Advanced (Class):   [CLASS:Static; INSTANCE:42]
ID:   
Text:    44°C
Position:   73, 279
Size:   160, 19
ControlClick Coords:   26, 11
Style:   0x50001200
ExStyle:   0x00020000
Handle:   0x00000000000806EE

###AutoIt Control Viewer Report File###

Environment
===========
System:   Майкрософт Windows 10 Pro 64-разрядная
Aero:     Enabled

Window
======
Title:    Core Temp 1.12.1
Class:    CORETEMP
Style:    0x14CA0000
ExStyle:  0x00000100
Position: 1030, 0
Size:     336, 356
Handle:   0x001B0AC0
PID:      5628
Path:     C:\Program Files\Core Temp\Core Temp.exe

Control
=======
Class:    Static
Instance: 42
ID:
Style:    0x50001200
ExStyle:  0x00020000
Position: 73, 279
Size:     160, 19
Handle:   0x000806EE
Text:      47°C
« Последнее редактирование: Июль 05, 2018, 15:40:13 от ar41 »

Помечен как лучший ответ пользователем ar41 Отправлен Июль 05, 2018, 16:23:25

Оффлайн Tempo [?]

  • Продвинутый
  • ***
  • Сообщений: 392
  • Репутация: 92
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Код: AutoIt [Выделить]
#include <MsgBoxConstants.au3>
HotKeySet("{ESC}", "_Exit")
Global $g_iDegree = 50, _ ;°C
        $g_iTime = 2, _ ;мин.
        $g_bReg

While 1
    Sleep(250)
    If ControlGetText("[CLASS:CORETEMP]", "", "[CLASS:Static; INSTANCE:42]") > $g_iDegree Then
        If Not $g_bReg Then
            AdlibRegister("_Warn", $g_iTime * 60000)
            $g_bReg = True
        EndIf
    ElseIf $g_bReg Then
        AdlibUnRegister("_Warn")
        $g_bReg = False
    EndIf
WEnd

Func _Warn()
    AdlibUnRegister("_Warn")
    ;$g_bReg = False
    MsgBox($MB_ICONWARNING + $MB_TOPMOST, Default, "Температура выще " & $g_iDegree & "°C уже более " & $g_iTime & " мин.")
EndFunc   ;==>_Warn

Func _Exit()
    Exit
EndFunc   ;==>_Exit
 

« Последнее редактирование: Июль 05, 2018, 16:17:02 от Tempo »

Русское сообщество AutoIt


Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3813
  • Репутация: 1006
    • Награды
  • Версия AutoIt: 3.3.14.0
Код: AutoIt [Выделить]
#RequireAdmin

$Temp = 50  ; температура
$Time = 120 ; время (в секундах)

$Count = 0
While Sleep(1000)
  $Text = ControlGetText("[class:CORETEMP]", "", "Static42")
  If Not $Text Then
    $Count = 0
    ContinueLoop
  EndIf
  If StringMid($Text, 2, 2) > $Temp Then
    $Count += 1
  Else
    $Count = 0
  EndIf
  If $Count > $Time Then
    MsgBox(0x40000, "Alarm", "Warning")
    $Count = 0
  EndIf
WEnd


Оффлайн ar41 [?]

  • Новичок
  • *
  • Сообщений: 3

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Код: AutoIt [Выделить]
#RequireAdmin

$Temp = 50  ; температура
$Time = 120 ; время (в секундах)

$Count = 0
While Sleep(1000)
  $Text = ControlGetText("[class:CORETEMP]", "", "Static42")
  If Not $Text Then
    $Count = 0
    ContinueLoop
  EndIf
  If StringMid($Text, 2, 2) > $Temp Then
    $Count += 1
  Else
    $Count = 0
  EndIf
  If $Count > $Time Then
    MsgBox(0x40000, "Alarm", "Warning")
    $Count = 0
  EndIf
WEnd

Огромнейшее Спасибо!!! Очень помог, все самого хорошего тебе! )


Добавлено: Июль 05, 2018, 16:27:42
Код: AutoIt [Выделить]
#include <MsgBoxConstants.au3>
HotKeySet("{ESC}", "_Exit")
Global $g_iDegree = 50, _ ;°C
        $g_iTime = 2, _ ;мин.
        $g_bReg

While 1
    Sleep(250)
    If ControlGetText("[CLASS:CORETEMP]", "", "[CLASS:Static; INSTANCE:42]") > $g_iDegree Then
        If Not $g_bReg Then
            AdlibRegister("_Warn", $g_iTime * 60000)
            $g_bReg = True
        EndIf
    ElseIf $g_bReg Then
        AdlibUnRegister("_Warn")
        $g_bReg = False
    EndIf
WEnd

Func _Warn()
    AdlibUnRegister("_Warn")
    ;$g_bReg = False
    MsgBox($MB_ICONWARNING + $MB_TOPMOST, Default, "Температура выще " & $g_iDegree & "°C уже более " & $g_iTime & " мин.")
EndFunc   ;==>_Warn

Func _Exit()
    Exit
EndFunc   ;==>_Exit
 

Огромнейшее Спасибо!!! Очень помог, все самого хорошего тебе! )

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3813
  • Репутация: 1006
    • Награды
  • Версия AutoIt: 3.3.14.0
Так попроще
(нажмите для показа/скрытия)

Русское сообщество AutoIt


 

Похожие темы

  Тема / Автор Ответов Последний ответ
20 Ответов
18632 Просмотров
Последний ответ Март 14, 2012, 00:21:18
от Arei
3 Ответов
4004 Просмотров
Последний ответ Март 17, 2012, 04:18:54
от Yashied
10 Ответов
3580 Просмотров
Последний ответ Май 24, 2013, 19:12:51
от Andruxakonst
2 Ответов
1748 Просмотров
Последний ответ Ноябрь 11, 2013, 22:54:22
от Ganibal95
1 Ответов
1144 Просмотров
Последний ответ Сентябрь 10, 2014, 17:37:30
от Крепыш
1 Ответов
1271 Просмотров
Последний ответ Апрель 08, 2015, 22:31:54
от firex
6 Ответов
1693 Просмотров
Последний ответ Ноябрь 09, 2015, 08:13:08
от Medic84
4 Ответов
757 Просмотров
Последний ответ Январь 31, 2017, 13:27:37
от VadimKHL
2 Ответов
339 Просмотров
Последний ответ Ноябрь 13, 2017, 22:28:07
от Alofa
1 Ответов
184 Просмотров
Последний ответ Май 25, 2018, 14:50:16
от Oleg-lamer