Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
FORUMS .NET FAQs .NET TUTORIELS .NET SOURCES .NET LIVRES .NET OUTILS .NET BLOG .NET DOTNET TV

Comment faire si...

Date de publication : 08/03/2005 , Date de mise a jour : 08/03/2005

Par Selkis (selkis.developpez.com)
 

Vous trouverez sur cette partie des bouts de code utiles


I. Récuperer des infos A partir du Registre
Récupérer le nom du système d'exploitation
Récupérer le nom du processeur
Récupérer le nom de la carte
Récuperer la liste des logiciels installés
Récuperer les informations de valeurs d'internet Exploreur (IE)
II. WMI
Récupérer les infos sur le processeur
Récuperer la memoire physique libre
Récuperer la version de votre bios
III. Les fichiers texte
Créer un nouveau fichier txt et écrire dedans
Lire un fichier txt ligne a ligne
Lire un fichier txt en un seul flux


I. Récuperer des infos A partir du Registre


Récupérer le nom du système d'exploitation

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()

Récupérer le nom du processeur

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()

Récupérer le nom de la carte

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")

Récuperer 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.

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

Récuperer les informations de valeurs d'internet Exploreur (IE)

Créer un nouveau projet avec une form vierge.

    Sur cette Form ajouter les controles 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 selectionnée dans la liste)
  4. Un bouton
A déclarer!
Imports Microsoft.Win32
Dans le form_Load de la feuille ajouter le code suivant :
Tcle.Text = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer"
Dans l'evenement clic() du bouton ajouter le code suivant :
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 :
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


Récupérer les infos sur le processeur

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

Récuperer la memoire physique libre

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

Récuperer la version de votre bios

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


Créer un nouveau fichier txt et écrire dedans

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

Lire un fichier txt ligne a ligne

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

Lire un fichier txt en un seul flux

'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

Liste de mes articles Vb.Net:
Accueil de la section VB.NET.
Utilisation d'une base Access en mode déconnecté avec Ado.Net.
Lecture et ecriture d'un fichier Xml à schéma connu.
Création d'une application de type Service Windows.
Création d'un logo xara3d en utilisant un service webdistant


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'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.

Responsables bénévoles de la rubrique DotNET : Jérôme Lambert et Louis-Guillaume Morand - Contacter par EMail :
Vos questions techniques : forum d'entraide DotNET - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.