Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Информация о железе

Ответить
Настройки темы
Delphi - Информация о железе

Аватара для volod3000

Новый участник


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

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


Здравствуйте !

Есть ли какая либо возможность узнать , программным путем,
модель монитора (не через реестр, т.к. нет драйвера).

Перерыл почти весь инет , кроме как через реестр, ничего нет .

Вроде говорят можно как-то воспользоваться
DLL-ми программы AIDA64(бывший EVEREST).

Но вопрос -> какой DLL, какая функция, какие параметры этой функции...
Правда вытянуть названия функций можно, а вот параметры этой функции нет.
Может у кого есть HELP по функциям AIDA64 ?

Отправлено: 23:45, 06-06-2011

 

Ветеран


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

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


volod3000, нет драйвера чего? видеокарты?
в скриптах не так давно обсуждалось определение монитора

Отправлено: 09:14, 07-06-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для volod3000

Новый участник


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

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


Вот , бродя по просторам инета , нашел интересное решение определение параметров монитора, посредством EDID data format :

Код: Выделить весь код
type
  TEDIDHeader = record
    Padding : array[1..8] of Byte;
    VendorID : Word; // bits 14 - 10 first letter (01h='A', 02h='B', etc.)
                        // bits 9 - 5 second letter
                        // bits 4 - 0 third letter
    ProductID : Word;
    SerialNo : DWord; // serial number or FFFFFFFFh
                        // for "MAG", subtract 7000000 to get actual serial number
                        // for "OQI", subtract 456150000
                        // for "PHL", subtract ???
                        // for "VSC", subtract 640000000
    ManufactureWeek : Byte;
    ManufactureYear : Byte; // manufacture year - 1990
    EDIDversion : Byte;
    EDIDrevision : Byte;
    VideoInputType : Byte;
    SizeHorizontal : Byte; // in cm
    SizeVertical : Byte; // in cm
    GammaFactor : Byte; // gamma factor (gamma = 1.0 + factor/100, so max = 3.55)
    DPMSflags : Byte;
    ChromaXYgreenred : Byte;
    ChromaXYwhiteblue : Byte;
    ChromaXred : Byte;
    ChromaYred : Byte;
    ChromaXgreen : Byte;
    ChromaYgreen : Byte;
    ChromaXblue : Byte;
    ChromaYblue : Byte;
    ChromaXwhite : Byte;
    ChromaYwhite : Byte;
    EstablishedTimings1 : Byte;
    EstablishedTimings2 : Byte;
    ManufacturersReservedTiming : Byte;
    StandardTimingIdentification : array[1..8] Of Word;
    DetailedTimingDescription1 : array[1..18] Of Byte;
    DetailedTimingDescription2 : array[1..18] Of Byte;
    DetailedTimingDescription3 : array[1..18] Of Byte;
    DetailedTimingDescription4 : array[1..18] Of Byte;
    Unused : Byte;
    Checksum : Byte;
  end;



procedure TForm1.Button1Click(Sender: TObject);
var
 reg : TRegistry;
 EDID : TEDIDHeader;
begin
 reg := TRegistry.Create;
 with reg do
 begin
   Rootkey:=HKEY_LOCAL_MACHINE; //Hauptschlüssel
   if RegistryConnect('\\'+GetEnvironmentVariable('COMPUTERNAME')) = True then
   begin
     if OpenKeyReadOnly('SYSTEM\ControlSet002\Enum\DISPLAY\GSM5776\5&48c6b31&0&UID258\Device Parameters') then
     begin
       ReadBinaryData('EDID', EDID, SizeOf(EDID));
     end;
   end;
 end;
 reg.Free;

 memo.Clear;
 memo.Lines.Add(IntToStr(EDID.VendorID));
 memo.Lines.Add(IntToStr(EDID.ProductID));
 memo.Lines.Add(IntToStr(EDID.SerialNo));
end;
Все работает, но есть две проблемы :

- адрес Device Parameters может меняться (как это решить ?)

- как определить (какой добавить параметр в record) имя (модель) монитора ?

Отправлено: 00:09, 08-06-2011 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Информация о железе

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Утилиты - [addon] Aida64 (информация о "железе" компьютера) gora Наборы обновлений для Windows XP/2003/Windows 7 267 07-01-2020 16:56
В железе дело? OldCliff- Непонятные проблемы с Железом 5 23-11-2010 21:36
Установка - xp на старом железе airat.v Microsoft Windows 2000/XP 3 03-02-2010 01:42
Система - [addon] ASTRA32 - Advanced System Information Tool (информация о железе) Amigos Наборы обновлений для Windows XP/2003/Windows 7 5 25-01-2010 07:45
О вин2000 и о железе aliquis Microsoft Windows NT/2000/2003 10 09-08-2002 09:55




 
Переход