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

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

Помогите в Систем Инфо !! [D6, Win95/98, WinME, NT4, Win2k, WinXP]


Страницы:   1 2

SPeller ©   (2002-03-31 16:33:00) 

Нужна вот информация о системе пользователя. Подскажите, как можно раздобыть следующее:

- Название проца;
- Название видюхи;
- Объём видеопамяти;
- Имеющиеся в системе диски;
- Кол-во свободных системных ресурсов.

Прошу помочь, очень надо.


SPeller   (2002-04-03 17:32:00) [21]

>ДЕД МАСТДАЙ (03.04.02 17:28)
>Слушай SPeller может мне еще всю сисинфу написать а потом подписать ее "made by SPeller" ?


Я задал вопрос, причём тут "made by SPeller" ?? Нельзя чтоли нормально ответить ? Или это не форум ?


ДЕД МАСТДАЙ   (2002-04-03 17:28:00) [22]

Слушай SPeller может мне еще всю сисинфу написать а потом подписать ее "made by SPeller" ?


SPeller   (2002-04-03 16:57:00) [23]

ДЕД МАСТДАЙ
А мож про ресурсы чего-нить знаешь ?


ДЕД МАСТДАЙ   (2002-04-03 16:38:00) [24]

Народ вы хоть знаете что такое процессор, его команды? А про системную область биоса с адресса 0F000h слышали? Так вот вся инфа про процессор получаеться после команды CPUID с кодом 0F A2 что для Делфи будет $0F $A2 понятно? Значения CPUID зависит от значения регистра EAX. И в последствии возращает значения в ECX,EDX,EBX. Так это я начсет проца. Дальше начсет видокарты. Есть такое великолепное прерывание BIOS"a int 10h посвященное видеосервису, советую про него прочитать. Ну да ладно с ним. Про системное определение, нате пример:
procedure TForm1.button1click(Sender: TObject);
var
lpDisplayDevice: TDisplayDevice;
dwFlags: DWORD;
cc: DWORD;
begin
form1.memo1.Clear;
lpDisplayDevice.cb := sizeof(lpDisplayDevice);
dwFlags := 0;
cc:= 0;
while EnumDisplayDevices(nil, cc, lpDisplayDevice , dwFlags) do
begin
Inc(cc);
form1.memo1.lines.add(lpDisplayDevice.DeviceString);
end;
end;

И еще всем, скажите что это за програмаирование когда ты ипсользуешь компоненты? А, да никакое это не программирование а использование чужих идей!


SPeller   (2002-04-03 15:12:00) [25]

Но как-то ж можно, винда ведь как-то делает это и не важно какая она старая или новая, всё-равно определяет. Неужели никто незнает?


Donal_Graeme   (2002-04-03 13:23:00) [26]

через БИОС не знаю как... правда мне думается, что это нереально...


SPeller   (2002-04-03 02:55:00) [27]

>Poirot © (02.04.02 11:33)

Можешь на мыло скинуть этот определитель ?

>Donal_Graeme (02.04.02 11:51)

Рыться в реестре занятие не из приятных... А нельзя ли как-нибудь через биос, он-то верочно знает про видюху, или нет ?


SPeller   (2002-04-02 11:13:00) [28]

Donal_Graeme (02.04.02 10:09)

И как тогда определить какая из них сейчас стоит ?


Donal_Graeme   (2002-04-02 10:09:00) [29]

насчёт видео, я не уверен, но по-моему вовсе не обязательно, что наличие двух разделов (0001 и 0002, например) означает присутствие двух видеокарт. могут остаться старые разделы при смене видео.


Poirot   (2002-04-02 07:18:00) [30]


> SPeller ©

1- если список логических дисков и CD(DVD)-ROM, FLOPPY - то ручками пробиваем по всем букавкам GetDriveType...
А вот если винтик хотите найти то поступаем тем же манером как и с видео, но учтите что в Вынь2К винтики в реестре упомянаются все, даже если вы подключили какой-то когда-то и потом убрали - он там.... а ручками удалить не получается - кричит....
2 - не знаю....
PS: Здесь в форуме был пример с выводом названия видюхи (помоему через АПИ)... Я что-то в рассылке не могу найти...


SPeller   (2002-04-02 02:54:00) [31]

А если несколько, то это 2 видюхи ? Тогда можно выбрать любую из них. И ещё ненайденные мною вопросы:
- Список дисков
- Почему функция GlobalMemoryStatus возвращает меньшее кол-во оперативки чем на самом деле ? Например для 160 т.е 167772160 байт она выдаёт 167239680, что равно 159,49 метров?


Donal_Graeme   (2002-04-01 15:01:00) [32]

бывает и несколько


SPeller   (2002-04-01 11:06:00) [33]

Спасибо и за этот пример. А в реестре один ключ 0000, 0001 или 0002 или их может быть одновременно несколько ? Если один, то вычислить его труда не составит.


Donal_Graeme   (2002-04-01 10:26:00) [34]

для видео - это только наброски.. эти функции работают, но не всегда... во-первых, в реестре может быть не указана данная информация, а во-вторых ключ в реестре может быть и 0001 и 0002 и т.п.

function GetVideoAdapterName: AnsiString;
var Reg : TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey ("System\CurrentControlSet\Services\Class\Display\0000", False);
Result := Reg.ReadString ("DriverDesc");
Reg.Free;
end;

function GetVideoMemory: DWord;
var Reg : TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey ("System\CurrentControlSet\Services\Class\Display\0000\Info", False);
Result := Reg.ReadInteger ("VideoMemory");
Reg.Free;
end;


SPeller   (2002-04-01 08:21:00) [35]

DC-AС

Спасибо. Но остались ещё вопросы:
- Название видюхи;
- Объём видеопамяти;
- Имеющиеся в системе диски;


DC-AC   (2002-04-01 07:44:00) [36]

LMDSysInfo из LMD-Tools


SPeller   (2002-03-31 23:47:00) [37]

Ну што, никто не знает что-ли ?


SPeller   (2002-03-31 17:11:00) [38]

И кол-во ресурсов тоже из реестра?


Song   (2002-03-31 16:47:00) [39]

Помнится мне, какой-то компонентик здесь ходил... А так - из реестра.


Страницы:   1 2

Наверх

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