|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Определение объёма видеопамяти
Искал в и-нете но не чего толкого не нашёл, встретил 2 варианта чтобы это осуществить.
Код:
procedure TForm1.Button1Click(Sender: TObject); var lpDisplayDevice: TDisplayDevice; dwFlags: DWORD; cc: DWORD; Memory: Real; begin Memo1.Clear; lpDisplayDevice.cb := sizeof(lpDisplayDevice); dwFlags := 0; cc := 0; while EnumDisplayDevices(nil, cc, lpDisplayDevice, dwFlags) do begin Inc(cc); Memo.lines.add(lpDisplayDevice.DeviceString); Memory:=(lpDisplaydevice.StateFlags div 524280); Memo.lines.add(FloatToStr(Memory)); end; end; И вот такой ещё взять информацию из реестра Код:
procedure TForm1.Button1Click(Sender: TObject); var Reg: TRegistry; Name, Path: String; begin Reg := TRegIniFile.Create(); Reg.RootKey := HKEY_LOCAL_MACHINE; if (Reg.OpenKey('HARDWARE\DEVICEMAP\VIDEO\', False)) then begin Path := Reg.ReadString('\Device\Video0'); if (Path <> '') then begin Delete(Path, 1, Length('\REGISTRY\Machine')); if (Reg.OpenKey(Path, False)) then Name := Reg.ReadString('Device Description'); end; end; ShowMessage(Name); end; Оба эти варианта либо не выводят вообще то что мне надо либо выводят с ошибкой. Где-то прочитал то что можно узнать объём видеопамяти с помочью DirectDraw, нашёл я этот модуль но как им пользоваться я не знаю, пробовал - не получилось. Если кто знает как осуществить то что мне надо, подскажите пожалуста. |