Accueil > Forum > > > > DETERMINER QUEL THEME XP EST ACTIF (BLUE THEME, OLIVE THEME, SILVER THEME)
DETERMINER QUEL THEME XP EST ACTIF (BLUE THEME, OLIVE THEME, SILVER THEME)
mercredi 8 novembre 2006 à 12:57:27 |
DETERMINER QUEL THEME XP EST ACTIF (BLUE THEME, OLIVE THEME, SILVER THEME)

copyrightx
|
Bonjour à tous,
J'aimerais savoir s'il existe un moyen (avec ou sans UxTheme.dll) de déterminer quel thème de Windows est actif. Si il s'agit du thème "Blue Theme", la fonction (que je vais créer) renverra 0, pour "Olive Theme" elle renverra 1, pour "Silver Theme" elle renverra 2 et enfin si il s'agit d'un autre thème, elle renverra -1. Il faut juste qu'elle puisse différencier les trois thèmes Windows par défaut.
Merci pour votre aide, Copyrightx.
|
|
mercredi 8 novembre 2006 à 20:32:51 |
Re : DETERMINER QUEL THEME XP EST ACTIF (BLUE THEME, OLIVE THEME, SILVER THEME)

ShareVB
|
salut, IsThemeActive et GetCurrentThemeName ShareVB
|
|
jeudi 9 novembre 2006 à 10:08:19 |
Re : DETERMINER QUEL THEME XP EST ACTIF (BLUE THEME, OLIVE THEME, SILVER THEME)

copyrightx
|
Bonjour ShareVB,
Un petit exemple de code serait le bienvenue ...
Copyrightx
|
|
jeudi 9 novembre 2006 à 14:33:41 |
Re : DETERMINER QUEL THEME XP EST ACTIF (BLUE THEME, OLIVE THEME, SILVER THEME)

copyrightx
|
J'ai trouvé ça sur le forum de Microsoft (www.forums.microsoft.com) :
Private Declare Function IsThemeActiveAPI Lib "uxtheme.dll" Alias "IsThemeActive" () As Boolean
Public Function GetThemeActive() As Boolean
isAct = IsThemeActiveAPI() If isAct = True Then GetThemeActive = True Else GetThemeActive = False End If
End Function
Sub Main()
Dim isThemed As Boolean isThemed = GetThemeActive MsgBox isThemed
End Sub
Le problème c'est que ça ne vérifie que si le thème est actif ou pas ...  Je continue les recherches ...
|
|
dimanche 12 novembre 2006 à 14:52:26 |
Re : DETERMINER QUEL THEME XP EST ACTIF (BLUE THEME, OLIVE THEME, SILVER THEME)

ShareVB
|
salut,
désolé pour la latence...
Option Explicit
Private Declare Function IsThemeActiveAPI Lib "uxtheme.dll" Alias "IsThemeActive" () As Boolean
Private Declare Function GetCurrentThemeName Lib "uxtheme.dll" ( _ ByVal pszThemeFileName As Long, _ ByVal dwMaxNameChars As Long, _ ByVal pszColorBuff As Long, _ ByVal cchMaxColorChars As Long, _ ByVal pszSizeBuff As Long, _ ByVal cchMaxSizeChars As Long _ ) As Long
Public Function GetActiveThemeName() As String If (IsThemeActiveAPI()) Then Dim szThemeFileName As String, szColorBuff As String, szSizeBuff As String szThemeFileName = Space(256) szColorBuff = Space(256) szSizeBuff = Space(256) GetCurrentThemeName StrPtr(szThemeFileName), 256, StrPtr(szColorBuff), 256, StrPtr(szSizeBuff), 256 GetActiveThemeName = Mid$(szThemeFileName, InStrRev(szThemeFileName, "\") + 1) GetActiveThemeName = Mid$(GetActiveThemeName, 1, InStr(GetActiveThemeName, ".") - 1) Else GetActiveThemeName = vbNullString End If End Function
Sub main() MsgBox GetActiveThemeName End Sub
ShareVB
|
|
lundi 13 novembre 2006 à 13:09:31 |
Re : DETERMINER QUEL THEME XP EST ACTIF (BLUE THEME, OLIVE THEME, SILVER THEME)

copyrightx
|
Merci pour le code ShareVB, je teste et je te répond le plus vite possible ... 
Copyrightx
|
|
lundi 20 novembre 2006 à 13:16:33 |
Re : DETERMINER QUEL THEME XP EST ACTIF (BLUE THEME, OLIVE THEME, SILVER THEME)

copyrightx
|
Bonjour,
Tout d'abord et ce, avant les formalités, merci pour le code ShareVB.
Ce dernier est très complêt car la fonction GetActiveThemeName retourne bien le nom du thème en cours, mais problème ...
Le fichier de thème Windows XP par défaut s'appelle "Luna". La fonction GetActiveThemeName renvoie donc la chaîne de caractère "Luna" mais cependant, ne permet pas de faire la différence entre le style BLUE, OLIVE et SILVER. Ce code ne répond donc qu'à la moitié de la question ...
Y a-t-il une fonction API qui permet d'obtenir le nom du style actif à partir du thème passé en paramêtre pour ainsi renvoyer, à partir de "Luna" (ou même sans passer de paramêtres), le style actif : BLUE ou OLIVE ou SILVER ?
Copyrightx
|
|
lundi 20 novembre 2006 à 13:38:39 |
Re : DETERMINER QUEL THEME XP EST ACTIF (BLUE THEME, OLIVE THEME, SILVER THEME)

ShareVB
|
salut,
en fait, c'est le deuxième paramètre de l'api...seulement, les noms sont plutôt bizarre NormalColor = bleu, HomeStead = olive, Metallic = silver...
Option Explicit
Private Declare Function IsThemeActiveAPI Lib "uxtheme.dll" Alias "IsThemeActive" () As Boolean
Private Declare Function GetCurrentThemeName Lib "uxtheme.dll" ( _ ByVal pszThemeFileName As Long, _ ByVal dwMaxNameChars As Long, _ ByVal pszColorBuff As Long, _ ByVal cchMaxColorChars As Long, _ ByVal pszSizeBuff As Long, _ ByVal cchMaxSizeChars As Long _ ) As Long
Public Function GetActiveThemeName() As String If (IsThemeActiveAPI()) Then Dim szThemeFileName As String, szColorBuff As String, szSizeBuff As String szThemeFileName = Space(256) szColorBuff = Space(256) szSizeBuff = Space(256) GetCurrentThemeName StrPtr(szThemeFileName), 256, StrPtr(szColorBuff), 256, StrPtr(szSizeBuff), 256 GetActiveThemeName = Mid$(szThemeFileName, InStrRev(szThemeFileName, "\") + 1) GetActiveThemeName = Mid$(GetActiveThemeName, 1, InStr(GetActiveThemeName, ".") - 1) Else GetActiveThemeName = vbNullString End If End Function
Public Function GetActiveThemeColor() As String If (IsThemeActiveAPI()) Then Dim szThemeFileName As String, szColorBuff As String, szSizeBuff As String szThemeFileName = Space(256) szColorBuff = Space(256) szSizeBuff = Space(256) GetCurrentThemeName StrPtr(szThemeFileName), 256, StrPtr(szColorBuff), 256, StrPtr(szSizeBuff), 256 GetActiveThemeColor = Mid$(szColorBuff, 1, InStr(szColorBuff, vbNullChar) - 1) Else GetActiveThemeColor = vbNullString End If End Function
Public Function GetActiveThemeSize() As String If (IsThemeActiveAPI()) Then Dim szThemeFileName As String, szColorBuff As String, szSizeBuff As String szThemeFileName = Space(256) szColorBuff = Space(256) szSizeBuff = Space(256) GetCurrentThemeName StrPtr(szThemeFileName), 256, StrPtr(szColorBuff), 256, StrPtr(szSizeBuff), 256 GetActiveThemeSize = Mid$(szSizeBuff, 1, InStr(szSizeBuff, vbNullChar) - 1) Else GetActiveThemeSize = vbNullString End If End Function
Sub main() MsgBox GetActiveThemeName & "(" & GetActiveThemeColor & ") (" & GetActiveThemeSize & ")" End Sub
ShareVB
|
|
lundi 20 novembre 2006 à 13:49:43 |
Re : DETERMINER QUEL THEME XP EST ACTIF (BLUE THEME, OLIVE THEME, SILVER THEME)

copyrightx
|
Plutôt rapide les réponses sur le forum : c'est pas en mal !!!
Mais je crois que pour toi rapidité rime avec productivité ! Encore merci pour le code !
Je teste et je répond le plus vite possible pour confirmer.
Copyrightx
|
|
Cette discussion est classée dans : actif, theme, blue, renverra, olive
Répondre à ce message
Sujets en rapport avec ce message
Inserer du texte dans document actif d'une application multi - document [ par GMI ]
Bonjours tous le monde,Je cherche à créer une application multi document ( Avec un MDIForm ), et je n'arrive pas à inserer du texte dans le document a
Menu quand ont clique sur la barre en haut.... [ par Trafalio BlackHammer ]
Ya un moyen de rajouter quelque chose dans la barre en haut quand ont clique Merci !Aurevoir et si vous pouvez répondre a mon Probleme de Progress Bar
Aucunes requêtes ne fonctionnent avec l'ADO [ par Alain ]
Dans mon appli. aucunes des requêtes, suppression consultation insertion, n'aboutissent.J'obtiens le message suivant :Erreur d'exécution '-2147217904
Pour les pros! [ par Danger Prophet ]
BonjourComment est ce que je pourrais, depuis un bouton, ouvrir internet explorer à un adresse précise (sans qu'on le sache), de receuillir une prhase
Sélection d'une ligne en Rich Text Box [ par Blousé ]
Voilà un petit casse tête (pour moi entout cas, vu que je ne connaît pas grand chose) :A l'aide de la fonction Find je recherche dans mon texte des mo
Access - VBA : Fonction sur chaque champ de chaque table [ par ghiscool ]
Salut,alors voilà je voudrais virer tous les caractères spéciaux de chaque champ de chaque table. Ma fonction est faite, il n'y a plus qu'à l'applique
copie d'une colonne d'un fichier excel a un autre. [ par gsu ]
Comment faire pour ouvrir un fichier excel du meme nom que celui actif (date de l'enregistrement via une inputbox),copier une colonne et la coller dan
"Impossible de trouver le formulaire auquel il est fait référence ..." Arrrrrffffffffff [ par ghiscool ]
Alors voila mon problème : dans le code du sous-formulaire FormA, je veux acceder à un champ se trouvant dans ce formulaire : val = Forms!FormA!id.Val
Livres en rapport
|
Derniers Blogs
[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA par cyril
Le deuxième keynote du mix fut très riche en contenu. Internet Explorer 9 Juste un après le lancement de Internet Explorer 8, Microsoft a dévoilé les nouveautés de Internet Explorer 9. Désormais, IE supportera HTML5, SVG et CSS3. L'élément ...
Cliquez pour lire la suite de l'article par cyril CERTIFICATIONS BETA .NET 4CERTIFICATIONS BETA .NET 4 par KooKiz
Les inscriptions pour les certifications beta .NET 4 ont commencé. L'inscription est offerte pour les examens suivants : - 71-511, TS: Windows Applications Development with Microsoft .NET Framework 4 - 71-515, TS: Web Applications Development with...
Cliquez pour lire la suite de l'article par KooKiz [MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2[MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2 par redo
J'imagine que la plupart d'entre vous connaissent bien et utilisent le service de traduction de Google, mais connaissez-vous celui de Microsoft . Microsoft Translator ? Effectivement, Microsoft nous annoncé le lancement version 2 de la Technologie Preview...
Cliquez pour lire la suite de l'article par redo LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010!LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010! par MPOWARE
Toutes les vidéos de ce lancement sont en ligne!
Partie I - Intro
http://www.youtube.com/watch?v=LkQzTQ8T6CA
Partie II - Démo 1
http://www.youtube.com/watch?v=drAhYQ7lqvo
Partie III - Démo 2
http://www.youtube.com/watch?v=c8KM_1Gqybc...
Cliquez pour lire la suite de l'article par MPOWARE [WP7] JE NE VEUX PAS D'UN NOUVEL IPHONE[WP7] JE NE VEUX PAS D'UN NOUVEL IPHONE par FREMYCOMPANY
Je pense qu'ils ont besoin d'une piqure de rappel chez Microsoft : c'est bien gentil d'avoir une interface jolie, mais si c'est pour avoir un truc qui ne convainct pas dedans, c'est peine perdue.
---->
Système ouvert ----> Fermé ?
P...
Cliquez pour lire la suite de l'article par FREMYCOMPANY
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|