FAQ VCL
Железо\Видеокарта

:: Меню ::
:: На главную ::
:: FAQ ::
:: Заметки ::
:: Практика ::
:: Win API ::
:: Проекты ::
:: Скачать ::
:: Секреты ::
:: Ссылки ::

:: Сервис ::
:: Написать ::

:: MVP ::

:: RSS ::

Яндекс.Метрика

Как определить видеокарту?

procedure TForm1.Button1Click(Sender: TObject);
var
  lpDisplayDevice: TDisplayDevice;
  dwFlags: DWORD;
  cc: DWORD;
begin
   Memo1.Clear;
   lpDisplayDevice.cb := sizeof( lpDisplayDevice );
   dwFlags := 0;
   cc := 0;
   EnumDisplayDevices( nil, 0, lpDisplayDevice, dwFlags );
   Memo1.lines.add( lpDisplayDevice.DeviceString );
end;

// Или немного расширенный вариант

procedure TForm1.Button1Click(Sender: TObject);
var
  lpDisplayDevice: TDisplayDevice;
  dwFlags: DWORD;
  cc: DWORD;
begin
   Memo1.Clear;
   lpDisplayDevice.cb := sizeof( lpDisplayDevice );
   dwFlags := 0;
   cc := 0;
   while EnumDisplayDevices( nil, cc, lpDisplayDevice, dwFlags ) do
   begin
      Memo1.lines.add( lpDisplayDevice.DeviceString );
      inc( cc );
      // Так же мы увидим дополнительную информацию в lpDisplayDevice
   end;
end;

При использовании материала - ссылка на сайт обязательна