Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как определить оборудование? [D5, Win95/98, Win2k, WinXP]


TankMan ©   (2004-09-03 13:53:00) 

Мне необходимо выяснять, какая видеокарта и какая мамка стоит в компе на котором запущенна программа , может кто подсказать, хоть в какую сторону копать? если уж не примерчик :)
Ни кто случайно не писал ничего подобного?


Игорь Шевченко   (2004-09-13 12:34:00) [1]

Сведения о видеокарте можно узнать через VESA, если лень в реестр или в WMI лазить.
Сведения о материнской плате, процессоре, BIOS можно узнать через DMI/SmBIOS, опять же, если лень в реестр или в WMI лазить.


ALIEN_D   (2004-09-13 12:31:00) [2]

Можно попробовать через WMI или...

http://www.torry.ru/vcl/system/systeminfo/MSIC.zipвот те компонентик - там вся инфа о системе... ну или почти вся...
http://www.torry.ru/pages.php?id=240- страница компонента...

Если нужны будут исходники - пиши мне на мыло...
Или еще какие-либо вопросы будут... пиши..
tdv2000@mail.ru


DC-AC   (2004-09-13 07:34:00) [3]

А почему бы не посмотреть в реестре (HKEY_LOCAL_MACHINE\Enum\USB\ROOT_HUB), если там присутствуют устройства - значит USB-контроллер установлен. Функций работы с разделами реестра существует множество.
Имя производителя видеокарты можно узнать например так :
function GetVideo_ID: String;
var lpDisplayDevice: TDisplayDevice;
begin
lpDisplayDevice.cb := Sizeof(lpDisplayDevice);
EnumDisplayDevices(nil, 0, lpDisplayDevice , 0);
Result:=lpDisplayDevice.DeviceString;
end;


TankMan   (2004-09-11 22:22:00) [4]

А ничего конкретного нет? я бы всетаки хотел пример, или статью...насколько я понимаю, это низкоуровневое программирование, я в нем плох ой как плох :(


DC-AC   (2004-09-11 13:26:00) [5]

TankMan  : правильно здесь подсказали - нужно знать Vendor ID и Device ID видеокарты. А материнская плата - это всего лишь набор чипсетов (то есть устройств на шине PCI), которые также имеют Vendor ID и Device ID. Так что либо в реестр, либо читать Ральфа Брауна и через Int 21h (в Win9x можно и напрямую, в W2K/XP - только из драйвера) сканировать устройства. Люди, которые поумнее меня, говорят что можно через Cfgmgr32.dll (функции API, начинающиеся с CM_...), но реального примера нет, если кто подкинет переведённый на паскаль Header Cfgmgr32 - буду премного благодарен.


Ozone   (2004-09-10 06:28:00) [6]

см. в MSDN - WMI


Defunct   (2004-09-10 03:19:00) [7]

> Нет, у меня другая проблема, мне как раз то и надо узнать марку оборудования, чтобы ставить дрова для него...

А что вам даст VendorID (Dword), DeviceID (Dword) (особенно видеокарты)?
Microsoft 20 лет собирает базу дров, чтобы нормально распознавать все устройства. Вы думаете, у вас лучше получится?

PS: цель какая-то странная. Вы пишете собственную ОС?


wl   (2004-09-09 21:17:00) [8]

ээээ...например сходить в компьютерный магазин...там наверняка опознают


TankMan   (2004-09-09 21:05:00) [9]

Нет, у меня другая проблема, мне как раз то и надо узнать марку оборудования, чтобы ставить дрова для него... так что я думаю что без дров ничего полезного не будет там...


Defunct   (2004-09-04 02:36:00) [10]

HKEY_LOCAL_MACHINE\HARDWARE


TankMan   (2004-09-04 01:58:00) [11]

Кто-нибудь может ответить? или я что-то не то спрашиваю?


Наверх

Титульная страница Поиск, карта сайта Написать письмо