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
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()
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
ReDim tabcle(cpt)
Dim pos, j As Integer
pos = InStr(chaine, "\", CompareMethod.Binary)
Do While pos <> 0
If pos <> 1 Then
j = j + 1
tabcle(j) = Mid(chaine, 1, pos - 1)
End If
chaine = Mid(chaine, pos + 1)
pos = InStr(chaine, "\", CompareMethod.Binary)
Loop
tabcle(j + 1) = chaine
Dim reg2 As RegistryKey
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)
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
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
Dim j As Integer
ListBox1.Items.Clear()
For j = 0 To UBound(Tabsscle)
Dim regSK As RegistryKey
regSK = RegK.OpenSubKey(Tabsscle(j))
Dim TabValeur(regSK.ValueCount) As String
If regSK.ValueCount <> 0 Then
TabValeur = regSK.GetValueNames
Dim i As Integer
For i = 0 To UBound(TabValeur)
If TabValeur(i) = "DisplayName" Then
ListBox1.Items.Add(regSK.GetValue(TabValeur(i)))
End If
Next i
End If
regSK.Close()
Next j
RegK.Close()
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 :
- Une zone de text nommée : Tcle (c'est la clé a lire)
- Une zone de list nommée : Lvaleur (la liste des valeurs retourné par la clé)
- Une zone de text nommée: Tvaleur (Donnée de la valeur selectionnée dans la liste)
- 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)
Dim Tabvaleur(Reg.ValueCount) As String
Tabvaleur = Reg.GetValueNames
Dim j As Integer
Lvaleur.Items.Clear()
For j = 0 To UBound(Tabvaleur)
Lvaleur.Items.Add(Tabvaleur(j))
Next j
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
itemSelect = Lvaleur.SelectedIndex
ValEnCours = Lvaleur.Items.Item(itemSelect)
Reg = Registry.LocalMachine.OpenSubKey("SOFTWARE", True).OpenSubKey("Microsoft", True)_
.OpenSubKey("Internet Explorer", True)
Tvaleur.Text = Reg.GetValue(ValEnCours).ToString
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
Dim Sys As New ManagementObjectSearcher("Select * from Win32_ComputerSystem")
Dim info As ManagementObject
For Each info In Sys.Get()
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"
Dim FsiEcrire As System.IO.StreamWriter
Dim chaine As String
Chaine= "ma chaine a ecrire"
Try
FsiEcrire = New System.IO.StreamWriter(chemin)
FsiEcrire.Write(chaine)
Catch ex As Exception
MsgBox(ex.Message)
Finally
If Not FsiEcrire Is Nothing Then FsiEcrire.Close()
End Try
Lire un fichier txt ligne a ligne
Imports System.IO
Dim Monflux As Stream
Monflux = File.OpenRead(chemindufichier.txt)
Dim Maligne As StreamReader = New StreamReader(Monflux, System.Text.Encoding.ASCII)
Maligne.BaseStream.Seek(0, SeekOrigin.Begin)
While Maligne.Peek() > -1
Dim rep As String = Maligne.Peek
Textbox1.Text = Textbox1.Text + Maligne.ReadLine() + vbNewLine
End While
Maligne.Close()
Lire un fichier txt en un seul flux
'creation de l'objet fichier pour lire le flux
Dim FichierAlire As StreamReader
Try
FichierAlire = New System.IO.StreamReader(chemindufichier.txt)
TResFichier.Text = FichierAlire.ReadToEnd()
Catch ex As Exception
MsgBox(ex.Message)
Finally
If Not FichierAlire Is Nothing Then FichierAlire.Close()
End Try
|