![]() |
Tipp 0085
|
Adapter-Informationen auslesen
|
 |
|
Autor/Einsender: Datum: |
|
Alexander Csadek 04.09.2005 |
|
Entwicklungsumgebung: |
|
VB.Net 2003 |
DirectX-Version: |
|
DirectX
9 |
|
|
Die Informationen über verfügbare Adapter (Grafikkarten) auszulesen ist mit
DirectX 9 sehr einfach.
Generell ist es für ein Spiel gar nicht so uninteressant zu wissen, ob eine benötigte Bildschirmauflösung von
der Grafikkarte unterstützt wird oder nicht, oder ob der Spieler die Auswahlmöglichkeit seiner gewünschten
Bildschirmauflösung haben soll. In DirectX 9 wird für die Grafikkarte der Begriff Adapter verwendet.
|
Über das Manager-Objekt vom Namespace Microsoft.DirectX.Direct3D erhält man
Zugriff auf die Adapter und somit auf die Anzahl der Adapter. Die Informationen des Adapters sind im
AdapterInformation-Objekt enthalten.
|
Folgende Eigenschaften können mittels dem Objekt AdapterInformation ausgelesen werden:
|
|
CurrentDisplayMode |
liefert die derzeitig verwendete Darstellung als DisplayMode-Struktur. |
Information |
liefert die Detailinformationen als AdapterDetails-Struktur. |
SupportedDisplayModes |
liefert die unterstützten Bildschirmauflösungen als DisplayModeCollection. |
|
|
Imports Microsoft.DirectX.Direct3D
Public Class frmMain
Inherits System.Windows.Forms.Form Vom Windows Form Designer generierter Code
Private Sub frmMain_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Try
lst_Adapter.Items.Add("Anzahl der Adapter: " & _
Manager.Adapters.Count)
lst_Adapter.Items.Add("")
'Folgende Informationen pro Adapter werden ermittelt:
'- Adapter Identifier
'- aktueller DisplayMode
'- Anzahl unterstützer Display Mode
'- die unterstützten Display Mode
Dim myAdapterInformation As AdapterInformation
For Each myAdapterInformation In Manager.Adapters
lst_Adapter.Items.Add("Informationen über Adapter " & _
myAdapterInformation.Adapter)
lst_Adapter.Items.Add("Description: " & _
myAdapterInformation.Information.Description)
lst_Adapter.Items.Add("DeviceId: " & _
myAdapterInformation.Information.DeviceId)
lst_Adapter.Items.Add("DeviceIdentifier: " & _
myAdapterInformation.Information.DeviceIdentifier. _
ToString)
lst_Adapter.Items.Add("DeviceName: " & _
myAdapterInformation.Information.DeviceName)
lst_Adapter.Items.Add("DriverName: " & _
myAdapterInformation.Information.DriverName)
lst_Adapter.Items.Add("DriverVersion: " & _
myAdapterInformation.Information.DriverVersion. _
ToString)
'aktuellen Display Mode ermitteln
Dim myDisplayMode As DisplayMode = _
myAdapterInformation.CurrentDisplayMode
lst_Adapter.Items.Add("aktueller DisplayMode: " & _
myDisplayMode.Format & " (" & _
myDisplayMode.Format.ToString() & ") " & _
myDisplayMode.Width & "x" & myDisplayMode.Height & _
" " & myDisplayMode.RefreshRate & "Hz")
'Anzahl unterstützter Display Mode ermitteln
lst_Adapter.Items.Add( _
"Anzahl unterstützter Display Mode: " & _
myAdapterInformation.SupportedDisplayModes.Count)
For Each myDisplayMode In myAdapterInformation. _
SupportedDisplayModes
lst_Adapter.Items.Add(" - DisplayMode: " & _
myDisplayMode.Format & " (" & _
myDisplayMode.Format.ToString() & ") " & _
myDisplayMode.Width & "x" & myDisplayMode.Height & _
" " & myDisplayMode.RefreshRate & "Hz")
Next
lst_Adapter.Items.Add("")
Next
Catch ex As Exception
MsgBox("Fehler beim Auslesen der AdapterInformationen." & _
vbCrLf & ex.Message.ToString(), MsgBoxStyle.Information)
End Try
End Sub
End Class
|
|
|
|
Um dieses Beispiel ausführen zu können, wird die DirectX 9 for Managed Code Runtime benötigt.
|
|
|
|
Windows-Version |
98/SE |
 |
|
ME |
 |
|
NT |
 |
|
2000 |
 |
|
XP |
 |
|
Vista |
 |
|
Win
7 |
 |
|
|
|
Download (6
kB)
|
Downloads bisher: [ 401 ]
|
|
|