Comment faire si...

Vous trouverez sur cette partie des bouts de code utiles.

Article lu   fois.

L'auteur

Site personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Récupérer des infos à partir du Registre

I-A. Récupérer le nom du système d'exploitation

 
Sélectionnez
Imports Microsoft.Win32

Dim Reg As RegistryKey
Reg = Registry.LocalMachine.OpenSubKey("SOFTWARE", True).OpenSubKey("Microsoft", True).OpenSubKey("Windows NT", True)_
.OpenSubKey("CurrentVersion", True)
Textbox1.Text = Reg.GetValue("ProductName").ToString
Reg.Close()

I-B. Récupérer le nom du processeur

 
Sélectionnez
Imports Microsoft.Win32
Dim Reg As RegistryKey
Reg = Registry.LocalMachine.OpenSubKey("HARDWARE", True).OpenSubKey("DESCRIPTION", True).OpenSubKey("System", True) _ 
.OpenSubKey("CentralProcessor", True).OpenSubKey("0", True)
Textbox1.Text = Reg.GetValue("ProcessorNameString")
Reg.Close()

I-C. Récupérer le nom de la carte

 
Sélectionnez
Imports Microsoft.Win32
    
'récupère le chemin de la première clé pour lire le nom de la carte vidéo
Dim Reg As RegistryKey
Dim chaine As String
Reg = Registry.LocalMachine.OpenSubKey("HARDWARE", True).OpenSubKey("DEVICEMAP", True).OpenSubKey("VIDEO", True)
chaine = Reg.GetValue("\device\video0")
Reg.Close()

        '///découpage des clé et sous clé
        'On commence par compter combien  de clé et de sous clé dans la chaîne
        Dim tabcle() As String
        Dim i, cpt As Integer
        i = 0
        Dim car As String = "\"
        For i = 1 To Len(chaine)
            If Mid(chaine, i, 1) = car Then
                cpt = cpt + 1
            End If
        Next
        'redimension du tableau des clé
        ReDim tabcle(cpt)

        'mise en mémoire des clés    
        Dim pos, j As Integer
        pos = InStr(chaine, "\", CompareMethod.Binary)
        Do While pos <> 0
            If pos <> 1 Then 'si le premier caractère est "\" on ne le prend pas
                j = j + 1
                tabcle(j) = Mid(chaine, 1, pos - 1)

            End If
            chaine = Mid(chaine, pos + 1)
            pos = InStr(chaine, "\", CompareMethod.Binary)
        Loop
        'la derniere cle
        tabcle(j + 1) = chaine

        'Lecture du tableau des clés & sous clés 
        Dim reg2 As RegistryKey

'concatène les clés et sous clés (on pourrait faire beaucoup mieux)
reg2 = Registry.LocalMachine.OpenSubKey(UCase(tabcle(3)), True).OpenSubKey(tabcle(4), True).OpenSubKey(tabcle(5), True) _
.OpenSubKey(tabcle(6), True).OpenSubKey(tabcle(7), True).OpenSubKey(tabcle(8), True)
       
 'récupère la valeur
 textbox1.Text = reg2.GetValue("Device Description")

I-D. Récupérer la liste des logiciels installés

Ajouter sur une form une zone de liste nommée ListBox1 et un bouton.
Dans le code du bouton , ajouter le code ci dessous.

 
Sélectionnez
Imports Microsoft.win32

 '------recup les log installés------'
        Dim RegK As RegistryKey
        RegK = Registry.LocalMachine.OpenSubKey("SOFTWARE", True).OpenSubKey("Microsoft", True)._
                OpenSubKey("Windows", True).OpenSubKey("CurrentVersion", True).OpenSubKey("Uninstall", True)
        Dim Tabsscle(RegK.SubKeyCount) As String
        Tabsscle = RegK.GetSubKeyNames

        '------Lecture du tableau des clé (tabsscle) defini plus haut------'
        Dim j As Integer
        ListBox1.Items.Clear() 'vide la zone de liste
        For j = 0 To UBound(Tabsscle) 'parcour du tableau de l'element 0 jusqu'a la fin
            'lecure de la clé J contenu dans le tableau tabsscle()
            Dim regSK As RegistryKey
            regSK = RegK.OpenSubKey(Tabsscle(j))
            Dim TabValeur(regSK.ValueCount) As String
            
            '----Lecture des valeurs de la sous clé-----'
            'si il y a des valeur dans la clé en cours
            If regSK.ValueCount <> 0 Then
                'on les recuperes
                TabValeur = regSK.GetValueNames
                Dim i As Integer
                'on parcours le tableau des valeurs
                For i = 0 To UBound(TabValeur)
                    'si notre valeur = displayName alors
                    If TabValeur(i) = "DisplayName" Then
                        'on l'ajoute a la liste
                        ListBox1.Items.Add(regSK.GetValue(TabValeur(i)))
                    End If
                Next i
            End If
            'ferme le registre souscle
            regSK.Close()
        Next j
        'ferme le registre cle
        RegK.Close()

Télécharger la source.

I-E. Récupérer les informations de valeurs d'internet Explorer (IE)

Créer un nouveau projet avec une form vierge.

Sur cette form ajouter les contrôles suivants :

  1. Une zone de text nommée : Tcle (c'est la clé a lire)
  2. Une zone de list nommée : Lvaleur (la liste des valeurs retourné par la clé)
  3. Une zone de text nommée: Tvaleur (Donnée de la valeur sélectionnée dans la liste)
  4. Un bouton
A déclarer !
Sélectionnez
Imports Microsoft.Win32
Dans le form_Load de la feuille ajouter le code suivant :
Sélectionnez
Tcle.Text = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer"
Dans l'événement clic() du bouton ajouter le code suivant :
Sélectionnez
       Dim Reg As RegistryKey
        Reg = Registry.LocalMachine.OpenSubKey("SOFTWARE", True).OpenSubKey("Microsoft", True)_
                .OpenSubKey("Internet Explorer", True)
        'tableau de toute les valeurs contenues dans la cle
        Dim Tabvaleur(Reg.ValueCount) As String
        Tabvaleur = Reg.GetValueNames
        'charge la liste des valeur a partir du tableau memoire
        Dim j As Integer
        Lvaleur.Items.Clear()
        For j = 0 To UBound(Tabvaleur)
            Lvaleur.Items.Add(Tabvaleur(j))
        Next j
        'ferme la clé 
        Reg.Close()
Dans l'événement SelectedIndexChanged de la zone de liste ajouter le code suivant :
Sélectionnez
     Dim itemSelect As Integer
        Dim ValEnCours As String
        Dim Reg As RegistryKey
        'recupere l'index de la valeur sélectionnée
        itemSelect = Lvaleur.SelectedIndex
        'recupere le nom de la valeur 
        ValEnCours = Lvaleur.Items.Item(itemSelect)
        'ouvre la clé du Registre 
        Reg = Registry.LocalMachine.OpenSubKey("SOFTWARE", True).OpenSubKey("Microsoft", True)_
                .OpenSubKey("Internet Explorer", True)
        'obtient la valeur demandée 
        Tvaleur.Text = Reg.GetValue(ValEnCours).ToString

Télécharger la source.

II. WMI

II-A. Récupérer les infos sur le processeur

 
Sélectionnez
Imports System.Management

Dim sys As New ManagementObjectSearcher("Select * from Win32_Processor")
Dim infoProcesseur As ManagementObject
For Each infoProcesseur In sys.Get()
Textbox1.Text = "Description : " & infoProcesseur("Description").ToString() & vbCrLf & _
"Nom du Processeur : " & infoProcesseur("Name").ToString() & vbCrLf & "Vitesse réelle : " & _
infoProcesseur("CurrentClockSpeed").ToString() & vbCrLf & "Taille du Cache : " & _
infoProcesseur("L2CacheSize").ToString() & vbCrLf & "Type de socket : " & _
infoProcesseur("SocketDesignation").ToString() & vbCrLf & "Constructeur Processeur: " & _
infoProcesseur("Manufacturer").ToString()
Next

II-B. Récupérer la mémoire physique libre

 
Sélectionnez
Imports System.Management

'creation d'une instance de la classe ManagementObjectSearcher
Dim Sys As New ManagementObjectSearcher("Select * from Win32_ComputerSystem")
Dim info As ManagementObject
For Each info In Sys.Get()
'Récupération des information sur la memoire
Textbox1.Text = CInt(info3("TotalPhysicalMemory").ToString()) / 1024 & "Ko"
Next

II-C. Récupérer la version de votre bios

 
Sélectionnez
Imports System.Management

Dim req As New SelectQuery("Win32_bios")
Dim sys As New ManagementObjectSearcher(req)
Dim info As ManagementObject
        
For Each info In sys.Get()
    Textbox1.Text = "Bios version: " & info("version").ToString() 
Next

III. Les fichiers texte

III-A. Créer un nouveau fichier .txt et écrire dedans

 
Sélectionnez
Imports System.IO
Dim chemin As String
chemin = "fichier.txt" 'pour que le fichier soit créer a la racine du programme, sinon metre le chemin complet

Dim FsiEcrire As System.IO.StreamWriter

Dim chaine As String
Chaine= "ma chaine a ecrire"

Try     
  'ecriture du fichier  
  FsiEcrire = New System.IO.StreamWriter(chemin)
  FsiEcrire.Write(chaine)
Catch ex As Exception
   'message si erreur   
   MsgBox(ex.Message)
Finally
    'dans tous les cas on ferme le fichier
    If Not FsiEcrire Is Nothing Then FsiEcrire.Close()
End Try

III-B. Lire un fichier .txt ligne à ligne

 
Sélectionnez
Imports System.IO

'lecture du flux
Dim Monflux As Stream
Monflux = File.OpenRead(chemindufichier.txt)

'lecture ligne à ligne
Dim Maligne As StreamReader = New StreamReader(Monflux, System.Text.Encoding.ASCII)
Maligne.BaseStream.Seek(0, SeekOrigin.Begin)
 
'.peek défini le caractère suivant, si =-1 alors c'est qu'il n'y a plus de caractère
'la fin du fichier est donc atteinte
 While Maligne.Peek() > -1
        Dim rep As String = Maligne.Peek
        Textbox1.Text = Textbox1.Text + Maligne.ReadLine() + vbNewLine
 End While
 Maligne.Close() 'on n'oublie pas de fermer le fichier

III-C. Lire un fichier .txt en un seul flux

 
Sélectionnez
'creation de l'objet fichier pour lire le flux 

Dim FichierAlire As StreamReader

'Lecture du fichier

 Try

   FichierAlire = New System.IO.StreamReader(chemindufichier.txt)

   TResFichier.Text = FichierAlire.ReadToEnd()

Catch ex As Exception

   'message si erreur   

   MsgBox(ex.Message)

Finally    

If Not FichierAlire Is Nothing Then FichierAlire.Close()

 End Try

IV. Liste de mes articles VB.Net :

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2005 Selkis. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.