IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Comment faire si...

Vous trouverez sur cette partie des bouts de code utiles.

Article lu   fois.

L'auteur

Profil ProSite 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 ni 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.