Внешние приложения

XE Product imageBE Product imageEE Product image

AIDA64 предлагает следующие варианты обмена показаниями датчиков с внешними приложениями: общая память, реестр, WMI (инструментарий управления Windows) и OSD-сервер Rivatuner.


Включить общую память

Одним из наиболее распространенных способов обмена информацией между приложениями Windows является общая память. Модуль мониторинга оборудования AIDA64 использует общую память «AIDA64_SensorValues».

Содержимое общей памяти представляет собой длинное строковое значение, оканчивающееся на 0x00 char, что делает его классическим PChar или char*.

Строка состоит из XML-тегов, но это не полный XML-документ. Он включает в себя все значения температуры, вентилятора охлаждения и напряжения, которые AIDA64 может измерить. Температура всегда указывается в градусах Цельсия, даже если в меню «Настройки» выбрано значение по Фаренгейту. Метки значений датчиков всегда отображаются на английском языке, они не локализованы.

Размер буфера (размер блока общей памяти) должен быть не менее 10 КБ. Типичный размер буфера составляет от 1 до 3 КБ, но, например, для плат на базе Abit MicroGuru 2005 он может быть намного больше.

Для чтения содержимого общей памяти используется код, аналогичный можно использовать следующую процедуру Delphi:

Const
sharedmem_name = 'AIDA64_SensorValues';
Function ExtApp_SharedMem_ReadBuffer(bu:PChar;bu_size:DWord):Boolean;
Var
mappedData: PChar;
th: THandle;
Начало
Результат:=False;
th:=OpenFileMapping(FILE_MAP_READ,False,sharedmem_name);
Если th<>INVALID_HANDLE_VALUE, то
Начать
mappedData:= MapViewOfFile(th,FILE_MAP_READ,0,0,0);
If mappedData<>Nil Then
Begin
StrLCopy(bu,mappedData,bu_size) ;
If UnmapViewOfFile(mappedData) Then Result:=True;
Конец;
CloseHandle(th);
Конец;
Конец;

Вот пример вывода общей памяти:


Включить запись значений датчиков в реестр

Когда мы выбираем обмен значениями датчиков с внешними приложениями через реестр Windows, значения датчиков записываются в следующий путь реестра Windows:

HKEY_CURRENT_USER\Software\FinalWire\AIDA64\SensorValues

Когда AIDA64 закрывается, он удаляет как путь реестра, так и содержащиеся в нем значения из реестра. Температура всегда указывается в градусах Цельсия, даже если в меню «Настройки» выбрано значение по Фаренгейту. Метки значений датчиков всегда отображаются на английском языке, они не локализованы.

Вот пример того, как значения датчиков отображаются в реестре:


Включить запись значений датчика в WMI

Когда мы выбираем общий доступ к датчику значения с внешними приложениями через WMI, значения датчика записываются по следующему пути WMI:

Root\WMI\AIDA64_SensorValues

Когда AIDA64 закрывается, он удаляет как путь, так и содержащиеся в нем значения из WMI. Температура всегда указывается в градусах Цельсия, даже если в меню «Настройки» выбрано значение по Фаренгейту. Метки значений датчиков всегда отображаются на английском языке, они не локализованы.

Включить запись значений датчиков на OSD-сервер Rivatuner

Когда мы выбираем эту опцию, AIDA64 делится показаниями датчиков ( температура, напряжение и показания вентилятора) с OSD-сервером Rivatuner через общую память «RTSSSharedMemoryV2». Rivatuner OSD Server способен отображать эти значения на панели OSD даже во время полноэкранных 3D-игр или воспроизведения видео.