Right, I've finally found a Delphi 7 compatible version of DelphiX and I've installed it (from Maxx's Delphi site, got from an old Turbo post I remembered).

Note that if you have a TDXDraw component (you should!) then you can get access to the DDraw of it. I tried using IDraw7 and it raised an exception for some reason, but it works with IDraw4 -- I guess there's a property or {$DEFINE} somewhere that controls what version of DirectDraw DelphiX will target, but I don't know it since this is my first time looking at it.

Bad news and good news. I tried the liDriverVersion field but for me, it gives 0 (no info ). The good news is that you _should_ be able to typecast it to a _LARGE_INTEGER structure to retrieve the relevant parts. The following code shows all the info. If you get 0 results then that probably means that you're out of luck getting info for that particular graphics card.

[pascal]procedure TForm1.BitBtn1Click(Sender: TObject);
var
id: TDDDeviceIdentifier;
Temp: _LARGE_INTEGER;
begin
dxdraw1.DDraw.IDraw4.GetDeviceIdentifier(id, 0);
Showmessage(inttostr(id.liDriverVersion));

Temp := _LARGE_INTEGER(id.liDriverVersion);
ShowMessage(IntToStr(HIWORD(Temp.HighPart)));
ShowMessage(IntToStr(LOWORD(Temp.HighPart)));
ShowMessage(IntToStr(HIWORD(Temp.LowPart)));
ShowMessage(IntToStr(LOWORD(Temp.LowPart)));
ShowMessage(id.szDriver);
ShowMessage(id.szDescription);
ShowMessage(IntToStr(id.dwVendorId));
ShowMessage(IntToStr(id.dwDeviceId));
ShowMessage(IntToStr(id.dwSubSysId));
ShowMessage(IntToStr(id.dwRevision));
end;[/pascal]