Infos systeme avec vb.net

Infos systèmes avec VB.Net

Introduction

Version : Visual Basic 2005 Express Edition

Niveau : débutant

Ce tutorial recense les commandes simples de VB.Net qui permettent d'obtenir les infos systèmes les plus courantes le plus simplement du monde (sauf quelques cas particuliers d'adaptation maison;-). Chaque information est stockée dans une variable ou un tableau pour une utilisation directe (copier/coller). J'ai essayé de déterminer le meilleur type pour chaque variable pour une 'pico-optimisation' de la mémoire. Voilà, j'espère que ce tutorial aidera les débutants en .Net...

INFORMATIONS SUR LE MATERIEL

MEMOIRE

Ces variables sont exprimées en octets. Pour les convertir en Mo :

Variable = Int(Variable/(1024)^2)

- Mémoire physique totale (en octets) :

Dim MemoirePhysiqueTotale as UInteger = My.Computer.Info.TotalPhysicalMemory

- Mémoire physique disponible (en octets) :

Dim MemoirePhysiqueDisponible as UInteger  = My.Computer.Info.AvailablePhysicalMemory

- Mémoire virtuelle totale (en octets) :

Dim MemoireVirtuelleTotale As UInteger =  My.Computer.Info.TotalVirtualMemory

- Mémoire virtuelle disponible (en octets) :

Dim MemoireVirtuelleDisponible As UInteger  = My.Computer.Info.AvailableVirtualMemory

ECRAN

- Résolution horizontale (en pixels) :

Dim ResolutionHorizontale as Short =  Screen.PrimaryScreen.Bounds.Width

- Résolution verticale (en pixels) :

Dim ResolutionVerticale as Short  = Screen.PrimaryScreen.Bounds.Height

- Définition des couleurs (en bits par pixel) :

Dim CouleursDefinition as Byte =  Screen.PrimaryScreen.BitsPerPixel

SOURIS

- Présence d'une molette (vrai ou faux) :

Dim MoletteSouris As Boolean  = My.Computer.Mouse.WheelExists

- Test d'inversion des boutons (vrai ou faux) :

Dim InversionBoutonsSouris As Boolean =  My.Computer.Mouse.ButtonsSwapped

CLAVIER

- Test du verrouillage numérique 'Verr num' (vrai ou faux) :

Dim ClavierToucheNumLock As Boolean  = My.Computer.Keyboard.NumLock

- Test du verrouillage des majuscules 'Caps Lock' (vrai ou faux) :

Dim ClavierToucheCapsLock As Boolean =  My.Computer.Keyboard.CapsLock

- Test du défilement 'Arrêt défil' (vrai ou faux) :

Dim ClavierToucheArretDefil As Boolean  = My.Computer.Keyboard.ScrollLock

PORTS SERIES

- Nombre de ports séries présents :

Dim NombrePortsSeries As Byte =  My.Computer.Ports.SerialPortNames.Count

- Nom des ports séries présents :

Les informations sont stockées dans le tableau 'InfosPortsSeries' qui commence à l'index 1 (dans la boucle 'for...next' : InfosPortsSeries(Compteur + 1) = ...') dans le but d'avoir le 'COM1' à l'index 1, le 'COM2' à l'index 2, etc.

Dim NombrePortsSeries As Byte = My.Computer.Ports.SerialPortNames.Count
Dim InfosPortsSeries(NombrePortsSeries) As String
Dim Compteur As Byte

For Compteur =  0 To NombrePortsSeries - 1
    InfosPortsSeries(Compteur + 1) = My.Computer.Ports.SerialPortNames.Item(Compteur).ToString
Next

LECTEURS (HD,CD,DVD,FLOPPY...)

- Nombre de lecteurs présents :

Dim NombreLecteurs As Byte  = My.Computer.FileSystem.Drives.Count

- Informations sur les lecteurs présents :

Les informations sont stockées dans le tableau 'InfosLecteurs' de dimensions (nombre de lecteurs, 8).
Chaque ligne du tableau représente un lecteur (dans l'ordre alphabétique)
La colonne n° 0 correspond à la lettre du lecteur (ex: 'c:\', 'd:\', 'z:\", etc.)
La colonne n° 1 correspond à la disponibilité du lecteur (ex: un lecteur de cd-rom est indisponible si il n'y a pas de cd inséré).
La colonne n° 2 correspond au type de lecteur (ex: 2 Disque amovible (lecteur carte mémoire, clé USB), 3 Disque local, 5 =lecteur CD-Rom/DVD/Graveur, etc.)
La colonne n° 3 correspond au format du lecteur (ex: FAT16, FAT32, NTFS, etc.)
La colonne n° 4 correspond à la taille du volume (en octets)
La colonne n° 5 correspond à la taille totale du disque (en octets)
La colonne n° 6 correspond à la taille de l'espace libre total (en octets)
La colonne n° 7 correspond à la taille de l'espace libre disponible (en octets)

Par exemple, la taille totale du premier lecteur reconnu ('A:' ou 'B:'si un lecteur de disquettes est présent, 'C:' s'il n'y a pas de lecteur de disquette) sera stocké dans la variable InfosLecteurs(0,5).

La commande 'on error' est indispensable pour éviter les messages d'erreurs dus à un lecteur indisponible.

On Error Resume Next

Dim NombreLecteurs As Byte  = My.Computer.FileSystem.Drives.Count
Dim NomsLecteurs As System.Collections.ObjectModel.ReadOnlyCollection(Of System.IO.DriveInfo)
Dim InfosLecteurs(NombreLecteurs, 8) As String
Dim Compteur As Byte =  1
 'on commence les lignes du tableau à 1 

NomsLecteurs  = My.Computer.FileSystem.Drives

For Each info As System.IO.DriveInfo In NomsLecteurs

    InfosLecteurs(Compteur, 0) =  info.Name
    InfosLecteurs(Compteur, 1) = info.IsReady
    InfosLecteurs(Compteur, 2) = info.DriveType
    InfosLecteurs(Compteur, 3) = info.DriveFormat
    InfosLecteurs(Compteur, 4) = info.VolumeLabel
    InfosLecteurs(Compteur, 5) = info.TotalSize
    InfosLecteurs(Compteur, 6) = info.TotalFreeSpace
    InfosLecteurs(Compteur, 7) = info.AvailableFreeSpace
    Compteur = Compteur + 1

Next

Pour convertir les tailles en Mo, on utilisera la commande (uniquement pour les colonnes 5, 6 et 7):

Val(InfosLecteurs(Ligne,Colonne))/(1024)^2

INFORMATIONS SUR LE RÉSEAU

- Nom complet de l'ordinateur :

Dim ComputerName As String   = Mid(My.User.Name, 1, My.User.Name.IndexOf("\"))

- Nom d'utilisateur :

Dim UserName As String =  Mid(My.User.Name, My.User.Name.IndexOf("\") + 2, Len(My.User.Name))

- Test de connexion à Internet (vrai ou faux) :

Dim ConnectionReseau As Boolean  = My.Computer.Network.IsAvailable

INFORMATIONS SUR L'OS

- Nom complet du système d'exploitation :

Dim SystemeExploitation As String =  My.Computer.Info.OSFullName

- Version du système d'exploitation :

Dim VersionSystemeExploitation As String  = My.Computer.Info.OSVersion

- Plate-forme du système d'exploitation :</gras>

Dim SystemePlateforme As String = My.Computer.Info.OSPlatform
Ce document intitulé « Infos systeme avec vb.net » issu de CodeS SourceS (codes-sources.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Rejoignez-nous