Das nachfolgende Beispiel zeigt, wie sich alle verfügbaren Modis einer Grafikkarte mit Hilfe von DirectX ermitteln lassen. Setzen Sie hierzu zunächst einen Verweis auf DirectX 7 for Visual Basic Type Library. Platzieren Sie anschließend folgende Controls auf die Form:
Und hier der Code: Option Explicit Dim m_dx As New DirectX7 Private Sub Form_Load() ' Init Display Detection getDisplayCards Combo2.ListIndex = 0 Combo1.ListIndex = 0 End Sub ' alle Anzeigentreiber ermitteln Sub getDisplayCards() Dim ddEnum As DirectDrawEnum Dim i Set ddEnum = m_dx.GetDDEnum() For i = 1 To ddEnum.GetCount() With Combo2 .AddItem (ddEnum.GetDescription(i)) .ItemData(.NewIndex) = i End With Next i End Sub ' alle Grafikkarten-Modis ermitteln und auflisten Sub getdisplaymodes(sGuid As String) Dim DisplayModesEnum As DirectDrawEnumModes Dim ddsd2 As DDSURFACEDESC2 Dim DD As DirectDraw7 Dim dold As Long Dim i As Long On Error GoTo DIRECTX_Error Set DD = m_dx.DirectDrawCreate(sGuid) DD.SetCooperativeLevel Me.hWnd, DDSCL_NORMAL Set DisplayModesEnum = DD.GetDisplayModesEnum( _ DDEDM_DEFAULT, ddsd2) For i = 1 To DisplayModesEnum.GetCount() DisplayModesEnum.GetItem i, ddsd2 Combo1.AddItem Trim(Str(ddsd2.lWidth)) + "x" + _ Trim(Str(ddsd2.lHeight)) + ":" + _ Trim(Str(ddsd2.ddpfPixelFormat.lRGBBitCount)) + "Bit" Next Exit Sub DIRECTX_Error: MsgBox "ERROR INIT DIRECT X!!!" End Sub ' alle Grafikmodis des gewählten Anzeigentreibers ' ermitteln und auflisten Private Sub Combo2_Click() Dim ddEnum As DirectDrawEnum Dim StrGuid As String Dim i As Long Set ddEnum = m_dx.GetDDEnum() i = Combo2.ItemData(Combo2.ListIndex) StrGuid = ddEnum.GetGuid(i) getdisplaymodes StrGuid End Sub Dieser Tipp wurde bereits 13.685 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
vb@rchiv CD Vol.6 ![]() ![]() Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats ![]() Manfred Bohn IndexOf für mehrdimensionale Arrays Die generische Funktion "IndexOf" ermittelt das erste Auftreten eines bestimmten Wertes in einem n-dimensionalen Array sevWizard für VB5/6 ![]() Professionelle Assistenten im Handumdrehen Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |