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
 
Hinweis
Um dieses Beispiel ausführen zu können, wird die DirectX 9 for Managed Code Runtime benötigt.
Weitere Links zum Thema
Soundkarten-Infos mit DirectSound einlesen

Windows-Version
98/SE
ME
NT
2000
XP
Vista
Win 7


Download  (6 kB) Downloads bisher: [ 401 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Tipps | Projekte | Tutorials | Bücherecke | VB-/VBA-Tipps | API-Referenz | Komponenten | VB.Net-Forum | VB/VBA-Forum | DirectX-Forum | Foren-Archiv | DirectX | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Sonntag, 22. Januar 2012