Искал в и-нете но не чего толкого не нашёл, встретил 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, нашёл я этот модуль но как им пользоваться я не знаю, пробовал - не получилось. Если кто знает как осуществить то что мне надо, подскажите пожалуста.