![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как определить оборудование? [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]Кто-нибудь может ответить? или я что-то не то спрашиваю?