|
Вопрос # 703/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!мне надо узнать сколько мб. видеокарта.Как это зделать?
 |
Вопрос задал: Аксион (статус: 4-ый класс)
Вопрос отправлен: 5 июля 2007, 11:33
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Матвеев Игорь Владимирович
Здравствуйте, ММО!
1. Причитать информацию о доступных видеоадаптерах с помощью EnumDisplayDevices, выбрать из них основной (для него в TDisplayDevice.StateFlags установлен флаг DISPLAY_DEVICE_PRIMARY_DEVICE);
2. Пройтись по ветвям реестра HKLM\SYSTEM\CurrentControlSet\Control\Video, в подключах ищите ключ 0000, в нем значение 'Device Description' - строка, если эта строка совпадает со строкой TDisplayDevice.DeviceName - значит данный ключ реестра содержит инфу именно об основном видеоадаптере.
Информация хранится в BIN виде, строки в UINCODE.
Конкретно информация о памяти хранится в ключе HardwareInformation.MemorySize.
Проект, показывающий Тип микросхем, Строку BIOS, Конвертер DAC и объем памяти - см. прикреплённый файл. К ответу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки ответа)
Мини-форум вопроса
Всего сообщений: 2; последнее сообщение — 6 июля 2007, 13:25; участников в обсуждении: 2.
|
Dron (статус: Студент), 6 июля 2007, 13:00 [#1]:
Вот как определить видеоадаптеры:
var
lpDisplayDevice: TDisplayDevice;
dwFlags: DWORD;
cc: DWORD;
begin
Memo1.Clear;
lpDisplayDevice.cb := sizeof(lpDisplayDevice);
dwFlags := 0;
cc:= 0;
while EnumDisplayDevices(nil, cc, lpDisplayDevice , dwFlags) do
begin
Inc(cc);
Memo1.lines.add(lpDisplayDevice.DeviceString);
end;
Но память видеокарточки здесь не определится.
С уважением.
|
|
Аксион (статус: 4-ый класс), 6 июля 2007, 13:25 [#2]:
как определить видеоадаптер это я знал давно а вот как память - нет
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|