Зовнішні програми

XE Product imageBE Product imageEE Product image

AIDA64 пропонує такі варіанти обміну показаннями датчиків із зовнішніми програмами: спільна пам’ять, реєстр, WMI (Windows Management Instrumentation) та OSD-сервер Rivatuner.

Увімкнути спільну пам'ять

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

Вміст спільної пам’яті являє собою довге значення рядка, що закінчується символом 0x00, що робить його класичним 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;
Begin
Result:=False;
th:=OpenFileMapping(FILE_MAP_READ,False,sharedmem_name);
If th<>INVALID_HANDLE_VALUE Then
Begin
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;
End;
CloseHandle(th);
End;
End;

Ось приклад виведення спільної пам’яті:

Увімкнути запис значень датчиків до реєстру

Коли ми вибираємо обмінюватися значеннями датчиків із зовнішніми програмами через реєстр 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 здатний відображати ці значення на екранній панелі навіть під час повноекранних 3D-ігор або відтворення відео.