VisualBasic 6.0 peut vous permettre de
trouver toutes les informations sur le système que vous
utilisez. Cela peut parfois se révéler utile dans la
réalisation de certains programmes.
-
Lancez un nouveau projet que
vous enregistrez sous le nom Ex_11xx.vbp. La
feuille porte le nom F_Syst et sa propriété CAPTION
indique Informations sur le système.
-
Activez le composant
Microsoft SysInfo Control 6.0. Glissez une
occurrence du contrôle Information système (SysInfo)
sur la feuille. Nommez-le IS_CPU.
-
Ajoutez une zone de
texte que vous nommez ZT_informations et dont la
propriété TEXT est vide.
-
Placez un bouton en
dessous. Nommez-le BO_Cpu et inscrivez CPU pour la
propriété CAPTION.
-
Il faut tout d'abord
réaliser la liaison avec les programmes qui nous
fourniront les renseignements désirés. Copiez donc les
scripts ci-dessous directement sur la feuille.
Private Type SYSTEM_INFO
'Déclaration des variables
dwOemID As Long
dwPageSize As Long
lpMinimumApplicationAddress As Long
lpMaximumApplicationAddress As Long
dwActiveProcessorMask As Long
dwNumberOfProcessors As Long
dwProcessorType As Long
dwAllocationGranularity As Long
dwReserved As Long
End Type
Private Declare Sub GetSystemInfo _
Lib "kernel32" ( _
lpSystemInfo As SYSTEM_INFO _
)
'Initialisation de la procédure
-
Il ne reste plus
qu'à ajouter le code nécessaire dans le bouton que vous
avez créé: Bo_Cpu.
Private Sub BO_CPU_Click()
Dim V_Sys As SYSTEM_INFO 'Initialisation
des variables
Dim V_CPU As String
GetSystemInfo V_Sys 'Lecture
des informations en appelant la procédure
'Initialisation de V_Cpu (VbCrLf
indique un changement de ligne)
V_CPU = "Type du processeur: " & V_Sys.dwProcessorType & vbCrLf
V_CPU = V_CPU & "Nombre de processeurs: " & V_Sys.dwNumberOfProcessors
ZT_Informations.Text = V_CPU
'Affichage des informations
End Sub
-
Enregistrez ce
programme et testez-le.
-
Ajoutez maintenant
un second bouton que vous nommez BO_Lecteurs et dont le CAPTION
contient Lecteurs.
-
Il faut, encore
cette fois, déclarer la procédure Kernel32 et les
constantes qui permettront d'obtenir les renseignements
désirés. Ajoutez donc le code ci-dessous à le feuille.
'Constantes contenant
les valeurs de retour de GetDriveType
Const LECTEUR_AMOVIBLE = 2
Const DISQUE_DUR = 3
Const DISQUE_RESEAU = 4
Const LECTEUR_CDROM = 5
Const DISQUE_VIRTUEL = 6
Private Declare Function GetDriveType _
Lib "kernel32" Alias "GetDriveTypeA" ( _
ByVal nDrive As String _
) As Long
'Déclaration de la fonction
-
Il ne vous reste qu'à ajouter le code suivant dans le bouton
BO_Lecteurs pour afficher les résultats.
Private Sub Bo_Lecteurs_Click()
Dim V_i As Integer
'Initialisation des variables
Dim V_Lecteur As Long
Dim V_Chaine , V_Resul As String
V_Resul = ""
'Vider la variable V_resultat
For V_i = 0 To 25 'Tous les disques possibles de A à Z
V_Chaine = Chr(V_i + 65) & ":\"
'Initialisation de V_Chaine
V_Lecteur = GetDriveType(V_Chaine)
'Vérifie le lecteur V_Chaine
Select Case V_Lecteur
'Initialisation en fonction du résultat
Case LECTEUR_AMOVIBLE
V_Resul =
V_Resul & "Le disque " & V_Chaine & " est amovible." & vbCrLf
Case DISQUE_DUR
V_Resul =
V_Resul & "Le disque " & V_Chaine & " est un
disque dur." & -->
vbCrLf
Case DISQUE_RESEAU
V_Resul =
V_Resul & "Le disque " & V_Chaine & " est un
espace réseau." -->
& vbCrLf
Case LECTEUR_CDROM
V_Resul =
V_Resul & "Le disque " & V_Chaine & " est un CD-ROM." & -->
vbCrLf
Case DISQUE_VIRTUEL
V_Resul =
V_Resul & "Le disque " & V_Chaine & " est un
disque virtuel." & -->
vbCrLf
Case Else
End Select
Next V_i
ZT_Informations.Text = V_Resultat
'Affichage du résultat dans la zone de texte
End Sub
-
Ajoutez un troisième bouton que vous
nommez BO_Système et dont le CAPTION équivaut à
Système.
-
Ajoutex le code suivant à ce nouveau
bouton.
Private Sub BO_Système_Click()
Dim V_Mess As String 'Déclaration
de variable
Select Case IS_CPU.OSPlatform 'Procédure
conditionnelle
Case 0
V_Mess = "Non identifié"
'Initialisation de la variable
Case 1
V_Mess = "Windows 95-98, version " &
CStr(IS_CPU.OSVersion)
'Initialisation
Case 2
Select Case IS_CPU.OSVersion
'Seconde procédure conditionnelle
Case 4
V_Mess = "Windows NT, version " &
CStr(IS_CPU.OSVersion) 'Initialisation
Case 5
V_Mess = "Windows 2000, version " &
CStr(IS_CPU.OSVersion) 'Initialisation
End Select
End Select
ZT_Informations.Text = V_Mess
'Affichage du résultat
End Sub
-
Voici un exemple de
l'interface finale que vous devriez obtenir.

-
Enregistrez votre
programme et testez-le.
Application:
- Modifiez le programme de
façon qu'il suffise de cliquer sur un seul bouton pour
obtenir tous les renseignements: CPU, Lecteurs et
système. Enregistrez votre nouvelle version sous le nom
Ex_11bxx.vbp.
|