vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: System/Windows · Desktop/Bildschirm/Display   |   VB-Versionen: VB4, VB5, VB625.06.03
XP-Theme ermitteln

Dieser Tipp verrät, wie sich ermitteln lässt, welche Darstellung der User unter WinXP gewählt hat.

Autor:   Dieter OtterBewertung:  Views:  14.968 
www.tools4vb.deSystem:  WinXP, Win8, Win10, Win11 Beispielprojekt auf CD 

Unter XP kann der User bekanntlich auswählen, ob er lieber die klassische Darstellung oder die modernere Luna-Darstellung bevorzugt. Weiterhin kann er zwischen verschiedenen Farbschemen auswählen (Blau, Grün, Silber).

Nachfolgender Tipp zeigt, wie Sie die aktuelle Einstellung aus Ihrer VB-Anwendung heraus ermitteln können.

' Benötigte API-Funktion
Private Declare Function GetCurrentThemeName Lib "uxtheme.dll" ( _
  ByVal pszThemeFileName As String, _
  ByVal dwMaxNameChars As Long, _
  ByVal pszColorBuff As String, _
  ByVal cchMaxColorChars As Long, _
  ByVal pszSizeBuff As String, _
  ByVal cchMaxSizeChars As Long) As Long

Aufruf:

Dim sThemeFileName As String
Dim sColorBuffer As String
Dim sSizeBuffer As String
Dim nResult As Long
 
sThemeFileName = Space$(260)
sColorBuffer = Space$(255)
sSizeBuffer = Space$(255)
 
nResult = GetCurrentThemeName(sThemeFileName, Len(sThemeFileName), _
  sColorBuffer, Len(sColorBuffer), _
  sSizeBuffer, Len(sSizeBuffer))
 
If nResult = 0 Then
  sThemeFileName = ConvUnicode(sThemeFileName)
  sColorBuffer = ConvUnicode(sColorBuffer)
  sSizeBuffer = ConvUnicode(sSizeBuffer)
 
  MsgBox "Theme-Name: " & sThemeFileName & vbCrLf & _
    "Color: " & sColorBuffer & vbCrLf & _
    "Size: " & sSizeBuffer
Else
  MsgBox "Error! Evtl. kein Theme aktiviert, sondern Windows-Klassisch."
End If
' Hilfsfunktion
Private Function ConvUnicode(ByVal sString As String) As String
  sString = StrConv(sString, vbFromUnicode)
  sString = Left$(sString, InStr(sString, Chr$(0)) - 1)
  ConvUnicode = sString
End Function



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(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.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


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.