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...
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
- 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
- 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
- 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
- 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
- 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
- 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
- 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