![]() |
Tipp 0217
|
Grafikkarten-Informationen auslesen
|
 |
|
Autor/Einsender: Datum: |
|
Alexander Csadek 01.04.2002 |
|
Entwicklungsumgebung:
DirectX-Version: |
|
VB 6
DirectX 7 |
|
|
Es kommt sicher nicht sehr häufig vor, dass in einem PC mehr als eine Grafikkarte ist. Aber dennoch ist es mit
DirectX möglich, die Anzahl und Informationen
aller installierten Grafikkarten auszulesen. Dies geschieht mittels der
DirectDraw-Enummerierung.
|
Die Funktion GetDDEnum liefert eine Auflistung aller installierten Grafikkarten inkl. derer mit
DualHead. In der Regel gibt es aber nur eine, die als "Primärer Anzeigentreiber"
bezeichnet wird, und DirectDraw wird dann ohne Angabe der GUID gemacht.
|
DirectX7.DirectDrawCreate("")
|
Soll die Ausgabe aber auf einer anderen Grafikkarte als der primären geschehen, so muss
statt des leerem Strings lediglich die GUID
aus der Auflistung übergeben werden, z.B.:
|
DirectX7.DirectDrawCreate(objDDE.GetGuid(3))
|
Wurde DirectDraw initialisiert, stehen weitere Informationen über die Grafikkarte zur Verfügung. Mit dem DirectDrawIdentifier-Objekt und der DD-Funktion GetDeviceIdentifier(DDGDI_DEFAULT) sind Informationen z.B. über den verwendeten Treiber verfügbar.
|
|
|
Option Explicit
Dim objDX7 As New DirectX7
Dim objDD7 As DirectDraw7
Dim objDDE As DirectDrawEnum
Dim objDDI As DirectDrawIdentifier
Private Sub Form_Load()
Dim i As Single
On Error GoTo ERROUT
Set objDDE = objDX7.GetDDEnum
lbl_CountDC.Caption = "Anzahl Anzeigetreiber: " & objDDE.GetCount
lst_DC.Clear
For i = 1 To objDDE.GetCount
lst_DC.AddItem objDDE.GetDescription(i) & _
" - " & objDDE.GetName(i) & " - " & _
objDDE.GetGuid(i) & " - MonitorHandle:" & _
objDDE.GetMonitorHandle(i)
Next i
lst_DC.ListIndex = 0
GetDDIdentifier
Exit Sub
ERROUT:
MsgBox "Fehler beim Einlesen der Anzeigentreiber.", vbExclamation
End
End Sub
Private Sub GetDDIdentifier()
On Error GoTo ERROUT
Set objDDI = Nothing
Set objDD7 = Nothing
Set objDD7 = _
objDX7.DirectDrawCreate(objDDE.GetGuid(lst_DC.ListIndex + 1))
Set objDDI = objDD7.GetDeviceIdentifier(DDGDI_DEFAULT)
lbl_Description.Caption = "Bezeichnung: " & objDDI.GetDescription
lbl_DCID.Caption = "Device-ID: " & objDDI.GetDeviceId
lbl_DCIdentifier.Caption = "Device-Indentifier: " & _
objDDI.GetDeviceIndentifier
lbl_Driver.Caption = "Treiber: " & objDDI.GetDriver
Exit Sub
ERROUT:
MsgBox "Fehler beim Einlesen der GrafikkartenInfos.", _
vbExclamation
End
End Sub
|
|
|
|
|
|
Um dieses Beispiel ausführen zu können, wird die DirectX 7
for Visual Basic Type Library
benötigt (siehe dazu die Erläuterungen in der DirectX-Rubrik).
|
|
Windows-Version |
95 |
 |
|
98/SE |
 |
|
ME |
 |
|
NT |
 |
|
2000 |
 |
|
XP |
 |
|
Vista |
 |
|
Win
7 |
 |
|
|
VB-Version |
VBA 5 |
 |
|
VBA 6 |
 |
|
VB 4/16 |
 |
|
VB 4/32 |
 |
|
VB 5 |
 |
|
VB 6 |
 |
|
|
|
Download (2,7
kB)
|
Downloads bisher: [ 1268 ]
|
|
|