Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
756 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  détecter Vista en VB6

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

détecter Vista en VB6

n°1623121
bmag
Posté le 12-10-2007 à 17:03:01  profilanswer
 

Comment faire pour détecter en VB6 le système d'exploltation VISTA .
La focntion ENVIRON("OS" ) ramène dans les deux cas la valeur Windows_NT
 
Par ailleur, comment se fait-il que la police de caractère du forum est tout à coup si minuscule (quasi illisible) ? Et le premier qui me dit de chager la taille du texte a évidement perdu.

mood
Publicité
Posté le 12-10-2007 à 17:03:01  profilanswer
 

n°1623166
jpcheck
Pioupiou
Posté le 12-10-2007 à 18:31:50  profilanswer
 

salut,
essaie ca, pour voir si une des réponses peut t'aiguiller :

Code :
  1. Dim varEnv As Variant, intI As Integer
  2.     Dim strMessage As String, v As Variant
  3.     ' Liste des variables d'environnement
  4.     varEnv = Array("ALLUSERSPROFILE", "APPDATA", "COMPUTERNAME", "HOMEDRIVE", "HOMEPATH", _
  5.         "LOGONSERVER", "NUMBER_OF_PROCESSORS", "OS", "PATH", "PATHEXT", "PROCESSOR_ARCHITECTURE", _
  6.         "PROCESSOR_IDENTIFIER", "PROCESSOR_LEVEL", "PROCESSOR_REVISION", "PROMPT", _
  7.         "SYSTEMDRIVE", "SYSTEMROOT", "TEMP", "TMP", "USERDOMAIN", "USERNAME", "USERPROFILE" )
  8.     ' Lecture de toutes les valeurs
  9.     strMessage = ""
  10.     For Each v In varEnv
  11.         strMessage = strMessage & v & " = " & Environ(v) & vbCrLf
  12.     Next
  13.     ' Affichage final
  14.     MsgBox strMessage

n°1623216
karlkox
Posté le 12-10-2007 à 21:25:39  profilanswer
 

GetVersionEx (plus d'info )

n°1623736
bmag
Posté le 15-10-2007 à 11:42:15  profilanswer
 

Merci pour vos réponses.
 
GetVersionEx me semble difficile à mettre en oeuvre sous VB6. Par contre, même si ça n'est pas très propre, ENVIRON("ALLUSERPROFILE" ) répond différement sur vista puisque le dossier "ProgramData" est propre à Vista.

n°1623738
jpcheck
Pioupiou
Posté le 15-10-2007 à 11:44:46  profilanswer
 

tu peux faire un instr(ENVIRON("ALLUSERPROFILE" ),"ProgramData" ) alors ?

n°1623767
bmag
Posté le 15-10-2007 à 12:07:03  profilanswer
 

Oui, c'est en effet ce que je vais faire.

n°1623805
breizhbugs
Posté le 15-10-2007 à 13:03:27  profilanswer
 

Connais pas le vb6 alors je sais pas si c'est facile mais le nom de l'OS semble ecrit dans la base des registres sous HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\productname

n°1624001
tegu
Posté le 15-10-2007 à 15:37:04  profilanswer
 

GetVersionEx n'est pas difficile à mettre en oeuvre en VB6 pour peu qu'on s'y connaisse un peu en API Windows sous VB6.
 
Il suffit de déclarer ces lignes :

Public Type OSVERSIONINFO
    dwOSVersionInfoSize As Long
    dwMajorVersion As Long
    dwMinorVersion As Long
    dwBuildNumber As Long
    dwPlatformId As Long
    szCSDVersion As String * 128  
End Type
 
Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (LpVersionInformation As OSVERSIONINFO) As Long

et de l'exploiter comme ceci par exemple :

Public Function GetWinPlatform() As Long
    Dim osvi As OSVERSIONINFO
 
    osvi.dwOSVersionInfoSize = Len(osvi)
    If GetVersionEx(osvi) = 0 Then
        Exit Function
    End If
    GetWinPlatform = osvi.dwPlatformId
End Function


n°1624133
bjone
Insert booze to continue
Posté le 15-10-2007 à 18:58:05  profilanswer
 

bmag a écrit :

Oui, c'est en effet ce que je vais faire.


 
faut pas faire ça malheureux, ça va partir en sucette dès que le ALLUSERPROFILE pointera ailleurs.
 
si le système expose des variables, c'est pour éviter d'avoir des applications qui partent en sucette dès que la variable change....


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  détecter Vista en VB6

 

Sujets relatifs
Comment détecter un débordement sur les multiplications d'entiers en C[VB6] Decompresser un fichier ZIP
VB6 et WinsockProblème activeperl sous vista
[Resolu] Parcourir tout les fichier d'un dossier et detecter des motsexporter une bd access en fichier texte en vb6
[RESOLU] Débutant VB - Ouvrir une image sous VB6VB6 : Imprimer un document avec wordpad
[VB6] : Supprimer le titre et numéro de page d'un fichier texteProblème d'installation de Visual C++ sous Vista
Plus de sujets relatifs à : détecter Vista en VB6


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR