|
#22
|
||||
|
||||
|
You have correctly displayed the value of the main video card.
![]() Did not detect Intel (R) HD Graphics 4000 ![]() Did something go wrong with my adaptation? Or maybe the DXGI I used doesn't work for that. Code:
uses Windows, DXGI; //DXGI from link type TGPUInfo = record FName: String; FSize: Integer; end; TGPUs = array of TGPUInfo; procedure GetGPUs(out V: TGPUs); function Max(A, B: Integer): Integer; begin if A > B then Result := A else Result := B; end; function Align(Value, Size: Integer): Integer; begin if Value <> 0 then Result := (Max(0, Value div Size) + 1) * Size else Result := Value; end; var GPUInfo: TGPUInfo; i: Integer; riid: TGUID; hr: HRESULT; pFactory: IDXGIFactory; pAdapter: IDXGIAdapter; dxAdapterDesc: TDXGI_ADAPTER_DESC; begin riid := StringToGUID('{7b7166ec-21c7-44ae-b21a-c9ae321ae369}'); pFactory := nil; hr := CreateDXGIFactory(riid, pFactory); if (hr = S_OK) and Assigned(pFactory) then begin pAdapter := nil; i := 0; while (pFactory.EnumAdapters(i, pAdapter) = S_OK) do begin FillChar(dxAdapterDesc, SizeOf(TDXGI_ADAPTER_DESC), 0); hr := pAdapter.GetDesc(dxAdapterDesc); if hr = S_OK then begin GPUInfo.FName := dxAdapterDesc.Description; if dxAdapterDesc.DedicatedVideoMemory = 0 then GPUInfo.FSize := dxAdapterDesc.DedicatedSystemMemory div 1048576 else GPUInfo.FSize := dxAdapterDesc.DedicatedVideoMemory div 1048576; if GPUInfo.FSize < 512 then GPUInfo.FSize := Align(GPUInfo.FSize, 32) else GPUInfo.FSize := Align(GPUInfo.FSize, 512); SetLength(V, Length(V) + 1); V[Length(V) - 1] := GPUInfo; end; Inc(i); end; end; end; procedure TForm2.Button1Click(Sender: TObject); var i: Integer; MyGPUs: TGPUs; begin GetGPUs(MyGPUs); for i := Low(MyGPUs) to High(MyGPUs) do ShowMessage(MyGPUs[i].FName + ' (' + IntToStr(MyGPUs[i].FSize) + ' MB)'); end; |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Nero Plugin to burn mdf/mds images | Kall | CD/DVD Software & Utilities | 6 | 09-11-2007 02:29 |
| REQUEST : SDF plugin and AHX tool | --=FamilyGuy=-- | DC Games | 4 | 20-04-2007 13:13 |
| is there a a gamecube plugin to 3d studio max | gamesmell | GameCube Games | 1 | 12-03-2004 23:54 |
| FlaskMPEG & Panasonic Plugin: Plugin has "Fatal Error" | dan | CD/DVD Software & Utilities | 1 | 15-11-2000 16:23 |