Accueil > > > LISTER,DETRUIRE,LANCER PROCESSUS & SERVICES A DISTANCE
LISTER,DETRUIRE,LANCER PROCESSUS & SERVICES A DISTANCE
Information sur la source
Description
Cet application permet de killer ou ajouter un processus, stopper un service ou relancer Le tout a distance ou en local. !!! Il faut que WMI soit installé !!! Sous W2K il y est d'office ....
Source
- Dim distant As Boolean 'Savoir si on test a distance
- Dim serveur As String 'Si oui : le nom du serveur
- Dim tipe As Boolean 'Process ou service
- Dim run As Integer 'Nb de services lancés
- Dim sto As Integer 'Nb de services stoppé
- Private Sub Check1_Click()
-
- If Check1.Value = 1 Then 'Clicke
- lblserv.Visible = True
- cmdhelp.Visible = True 'Affiche les options
- txtserv.Visible = True
- distant = True 'Oui pour a distance
- Else
- lblserv.Visible = False
- cmdhelp.Visible = False 'Cache
- txtserv.Visible = False
- distant = False
- End If
-
-
- End Sub
-
- Private Sub cmdadproc_Click()
- cd.Filter = "Application (*.exe)|*.exe|" 'Filtre pour la boite de diag ouvrir
- cd.ShowOpen 'Ouvre la boite de dialogue
- test = cd.FileName 'Recupere le chemin
- If test <> "" Then Shell (test) 'Lance le processus
- End Sub
-
- Private Sub cmddelproc_Click()
-
- Dim ServiceObject As SWbemObject 'Objet WMI
- Dim Locator As SWbemLocator 'Objet de connexion
- Dim services As SWbemServices 'Objet services
-
- Set Locator = New SWbemLocator 'Nouvelle insatance d'une connexion
-
- 'Verifie si qqc est selectionné dans le listview1
- If ListView1.SelectedItem.Selected = False Then MsgBox "Vous devez selectionné un processus", vbCritical: Exit Sub
-
- 'Handle du processus
- proc$ = ListView1.SelectedItem.SubItems(1)
-
- 'Index de la ligne selectionné
- ligne = ListView1.SelectedItem.Index
-
- 'Connexion au serveur
- Set services = Locator.ConnectServer(txtserv.Text)
-
- 'Recuperation du processus selectionné
- Set ServiceObject = services.Get("Win32_Process='" & proc & "'")
- 'Destruction du processus
- p = ServiceObject.Terminate
-
- 'Le kill a reussi
- If p <> 0 Then
- MsgBox "Suppression du process " & ListView1.SelectedItem.Text & "(" & proc & ")" & " impossible", vbCritical
- 'Le kill a echoué
- Else: MsgBox "Suppression terminé de " & ListView1.SelectedItem.Text, vbOKOnly + vbInformation
- End If
-
- 'Maj de la liste des processus
- maj (0)
- End Sub
-
- Private Sub cmdhelp_Click()
- 'Aide
- msg = "Permet de tester les services" & vbCrLf & " ou procesus sur un ordinateur distant équipé de WMI"
- MsgBox msg, vbOKOnly + vbQuestion, "Management"
- End Sub
-
- Private Sub cmdmaj_Click()
- 'Mise à jour
- maj (cmdstart.Visible)
- End Sub
-
- Private Sub cmdproc_Click()
- Dim liste 'Collection de processus
- Dim element 'Un element de la collection
-
- tipe = 0 'Processus
-
- 'Affiche les bouton relatfs aux processus , cache les autres
- cmdstart.Visible = False
- cmdstop.Visible = False
- frmserv.Visible = False
- cmdadproc.Visible = True
- cmddelproc.Visible = True
-
- 'Modification du label de compte
- lbltest.Caption = "Nb processus"
-
- 'Efface la liste
- ListView1.ListItems.Clear
-
- 'Remet les en-têtes
- ListView1.ColumnHeaders.Item(1) = "Nom"
- ListView1.ColumnHeaders.Item(2) = "Identifiant"
-
- 'Selon le test à distance ou pas
- Select Case distant
- Case 1:
- 'Nom du serveur
- serveur = txtserv.Text
- 'Recuperation des processus
- Set liste = GetObject("winmgmts://" & serveur).InstancesOf("Win32_Process")
-
- Case 0:
- 'Recuperation des processus
- Set liste = GetObject("winmgmts:").InstancesOf("Win32_Process")
-
- End Select
-
- For Each element In liste
- 'Insertion dans la listview
- Set Item = ListView1.ListItems.Add(, , element.Name)
- Item.SubItems(1) = element.Handle
- Item.SubItems(2) = element.VirtualSize
- Next element
- maj (tipe)
- End Sub
-
-
- Private Sub cmdserv_Click()
-
- Dim objcol 'Collection de service
- tipe = 1 'SErvice
-
- 'Affichage des boutons relatifs aux services cache des autres
- cmdstart.Visible = True
- cmdstop.Visible = True
- frmserv.Visible = True
- cmdadproc.Visible = False
- cmddelproc.Visible = False
-
- 'Mise a jour du label de comptage
- lbltest.Caption = "Nb Services"
-
- 'Efface la liste
- ListView1.ListItems.Clear
-
- 'En tete des colonne
- ListView1.ColumnHeaders.Item(1) = "Nom"
- ListView1.ColumnHeaders.Item(2) = "Etat"
- ListView1.ColumnHeaders.Item(3) = "Description"
-
- 'Selon cas a distance ou pas
- Select Case distant
- Case 1:
-
- 'Nom du serveur
- serveur = txtserv.Text
-
- 'Recuperation a distance des services
- Set objcol = GetObject("WinMgmts://" & serveur & "/root/cimv2").InstancesOf("Win32_service")
-
- Case 0:
- 'Recuperation en local des services
- Set objcol = GetObject("WinMgmts:").InstancesOf("Win32_service")
- End Select
-
- For Each element In objcol
-
- 'Insertion des services dans la listview
- Set Item = ListView1.ListItems.Add(, , element.Name)
- Item.SubItems(2) = element.Description
- Item.SubItems(1) = element.state
- Next element
-
- 'Mise a jour
- maj (tipe)
- End Sub
-
- Private Sub cmdstart_Click()
- Dim ServiceObject As SWbemObject 'Objet WMI
- Dim Locator As SWbemLocator 'Objet de connexion
- Dim services As SWbemServices 'objet service
-
- Set Locator = New SWbemLocator 'Nouvelle instance de connexion
-
- 'Verifie que qqc est selectionné
- If ListView1.SelectedItem.Selected = False Then MsgBox "Vous devez selectionné un service", vbCritical: Exit Sub
-
- 'Recupere la selection
- service$ = ListView1.SelectedItem.Text
- ligne = ListView1.SelectedItem.Index
-
- 'REgarde si il n'est pas deja lancé
- If ListView1.SelectedItem.SubItems(1) = "Running" Then
- MsgBox "Le service est dejà demarré"
- Exit Sub
-
- Else
- 'SE connecte
- Set services = Locator.ConnectServer(txtserv.Text)
-
- 'Recupere le service
- Set ServiceObject = services.Get("Win32_Service='" & service & "'")
- 'Le demarre
- ServiceObject.StartService
- End If
-
- 'Mise a jour
- maj (cmdstop.Visible)
- End Sub
-
- Private Sub cmdstop_Click()
- Dim ServiceObject As SWbemObject
- Dim Locator As SWbemLocator
- Dim services As SWbemServices
- Set Locator = New SWbemLocator
-
- If ListView1.SelectedItem.Selected = False Then MsgBox "Vous devez selectionné un service", vbCritical: Exit Sub
-
- service$ = ListView1.SelectedItem.Text
- ligne = ListView1.SelectedItem.Index
-
- If ListView1.SelectedItem.SubItems(1) = "Stopped" Then
- MsgBox "Le service est dejà stoppé"
- Exit Sub
-
- Else
- On Error GoTo error
- Set services = Locator.ConnectServer(txtserv.Text)
- Set ServiceObject = services.Get("Win32_Service='" & service & "'")
- 'L'arrete
- ServiceObject.Stopservice
- error:
- MsgBox "Le service n'a pu etre stoppé"
- End If
- maj (cmdstop.Visible)
- End Sub
-
- Private Sub ListView1_ColumnClick(ByVal ColumnHeader As ColumnHeader)
- ' Quand vous cliquez sur un objet ColumnHeader, le contrôle
- ' ListView trie selon les sous-éléments de cette colonne.
- ' Affecte à la propriété SortKey l'index de ColumnHeader - 1
- ListView1.SortKey = ColumnHeader.Index - 1
- ' Affecte à la propriété Sorted la valeur True afin de trier la
- ' liste.
- ListView1.Sorted = True
- End Sub
-
- Private Sub maj(tipe As Boolean)
-
- 'Efface la list
- ListView1.ListItems.Clear
-
- run = 0 'Met a 0 le compteur de service lancé
- sto = 0 'Idem pour les services stoppés
- compte = 0 'Compte les processus et services
-
- Select Case tipe
- Case 0:
- 'On met a jour les processus
- Select Case distant
- Case 1:
- serveur = txtserv.Text
- Set liste = GetObject("winmgmts://" & serveur).InstancesOf("Win32_Process")
-
- Case 0:
- Set liste = GetObject("winmgmts:").InstancesOf("Win32_Process")
-
- End Select
-
- For Each element In liste
- Set Item = ListView1.ListItems.Add(, , element.Name)
- Item.SubItems(1) = element.Handle
- Item.SubItems(2) = element.VirtualSize
- compte = compte + 1
- lblcompte.Caption = compte
- DoEvents
-
- Next element
-
- Case 1:
-
- Select Case distant
- Case 1:
- serveur = txtserv.Text
- Set objcol = GetObject("WinMgmts://" & serveur & "/root/cimv2").InstancesOf("Win32_service")
-
- Case 0:
-
- Set objcol = GetObject("WinMgmts:").InstancesOf("Win32_service")
-
- End Select
-
- For Each element In objcol
- Set Item = ListView1.ListItems.Add(, , element.Name)
-
- Item.SubItems(2) = element.Description
- Item.SubItems(1) = element.state
-
- If element.state = "Running" Then
- run = run + 1
- Else: sto = sto + 1
- End If
- compte = compte + 1
- lblarr.Caption = "Arretés : " & sto
- lbldem.Caption = "Demarrés : " & run
- lblcompte.Caption = compte
-
- DoEvents
- Next element
-
- End Select
- 'lblcompte.Caption = ListView1.ListItems.Count
-
- End Sub
-
- Private Sub ListView1_DblClick()
- MsgBox ListView1.SelectedItem.Text & " " & ListView1.SelectedItem.SubItems(1)
- End Sub
-
Dim distant As Boolean 'Savoir si on test a distance
Dim serveur As String 'Si oui : le nom du serveur
Dim tipe As Boolean 'Process ou service
Dim run As Integer 'Nb de services lancés
Dim sto As Integer 'Nb de services stoppé
Private Sub Check1_Click()
If Check1.Value = 1 Then 'Clicke
lblserv.Visible = True
cmdhelp.Visible = True 'Affiche les options
txtserv.Visible = True
distant = True 'Oui pour a distance
Else
lblserv.Visible = False
cmdhelp.Visible = False 'Cache
txtserv.Visible = False
distant = False
End If
End Sub
Private Sub cmdadproc_Click()
cd.Filter = "Application (*.exe)|*.exe|" 'Filtre pour la boite de diag ouvrir
cd.ShowOpen 'Ouvre la boite de dialogue
test = cd.FileName 'Recupere le chemin
If test <> "" Then Shell (test) 'Lance le processus
End Sub
Private Sub cmddelproc_Click()
Dim ServiceObject As SWbemObject 'Objet WMI
Dim Locator As SWbemLocator 'Objet de connexion
Dim services As SWbemServices 'Objet services
Set Locator = New SWbemLocator 'Nouvelle insatance d'une connexion
'Verifie si qqc est selectionné dans le listview1
If ListView1.SelectedItem.Selected = False Then MsgBox "Vous devez selectionné un processus", vbCritical: Exit Sub
'Handle du processus
proc$ = ListView1.SelectedItem.SubItems(1)
'Index de la ligne selectionné
ligne = ListView1.SelectedItem.Index
'Connexion au serveur
Set services = Locator.ConnectServer(txtserv.Text)
'Recuperation du processus selectionné
Set ServiceObject = services.Get("Win32_Process='" & proc & "'")
'Destruction du processus
p = ServiceObject.Terminate
'Le kill a reussi
If p <> 0 Then
MsgBox "Suppression du process " & ListView1.SelectedItem.Text & "(" & proc & ")" & " impossible", vbCritical
'Le kill a echoué
Else: MsgBox "Suppression terminé de " & ListView1.SelectedItem.Text, vbOKOnly + vbInformation
End If
'Maj de la liste des processus
maj (0)
End Sub
Private Sub cmdhelp_Click()
'Aide
msg = "Permet de tester les services" & vbCrLf & " ou procesus sur un ordinateur distant équipé de WMI"
MsgBox msg, vbOKOnly + vbQuestion, "Management"
End Sub
Private Sub cmdmaj_Click()
'Mise à jour
maj (cmdstart.Visible)
End Sub
Private Sub cmdproc_Click()
Dim liste 'Collection de processus
Dim element 'Un element de la collection
tipe = 0 'Processus
'Affiche les bouton relatfs aux processus , cache les autres
cmdstart.Visible = False
cmdstop.Visible = False
frmserv.Visible = False
cmdadproc.Visible = True
cmddelproc.Visible = True
'Modification du label de compte
lbltest.Caption = "Nb processus"
'Efface la liste
ListView1.ListItems.Clear
'Remet les en-têtes
ListView1.ColumnHeaders.Item(1) = "Nom"
ListView1.ColumnHeaders.Item(2) = "Identifiant"
'Selon le test à distance ou pas
Select Case distant
Case 1:
'Nom du serveur
serveur = txtserv.Text
'Recuperation des processus
Set liste = GetObject("winmgmts://" & serveur).InstancesOf("Win32_Process")
Case 0:
'Recuperation des processus
Set liste = GetObject("winmgmts:").InstancesOf("Win32_Process")
End Select
For Each element In liste
'Insertion dans la listview
Set Item = ListView1.ListItems.Add(, , element.Name)
Item.SubItems(1) = element.Handle
Item.SubItems(2) = element.VirtualSize
Next element
maj (tipe)
End Sub
Private Sub cmdserv_Click()
Dim objcol 'Collection de service
tipe = 1 'SErvice
'Affichage des boutons relatifs aux services cache des autres
cmdstart.Visible = True
cmdstop.Visible = True
frmserv.Visible = True
cmdadproc.Visible = False
cmddelproc.Visible = False
'Mise a jour du label de comptage
lbltest.Caption = "Nb Services"
'Efface la liste
ListView1.ListItems.Clear
'En tete des colonne
ListView1.ColumnHeaders.Item(1) = "Nom"
ListView1.ColumnHeaders.Item(2) = "Etat"
ListView1.ColumnHeaders.Item(3) = "Description"
'Selon cas a distance ou pas
Select Case distant
Case 1:
'Nom du serveur
serveur = txtserv.Text
'Recuperation a distance des services
Set objcol = GetObject("WinMgmts://" & serveur & "/root/cimv2").InstancesOf("Win32_service")
Case 0:
'Recuperation en local des services
Set objcol = GetObject("WinMgmts:").InstancesOf("Win32_service")
End Select
For Each element In objcol
'Insertion des services dans la listview
Set Item = ListView1.ListItems.Add(, , element.Name)
Item.SubItems(2) = element.Description
Item.SubItems(1) = element.state
Next element
'Mise a jour
maj (tipe)
End Sub
Private Sub cmdstart_Click()
Dim ServiceObject As SWbemObject 'Objet WMI
Dim Locator As SWbemLocator 'Objet de connexion
Dim services As SWbemServices 'objet service
Set Locator = New SWbemLocator 'Nouvelle instance de connexion
'Verifie que qqc est selectionné
If ListView1.SelectedItem.Selected = False Then MsgBox "Vous devez selectionné un service", vbCritical: Exit Sub
'Recupere la selection
service$ = ListView1.SelectedItem.Text
ligne = ListView1.SelectedItem.Index
'REgarde si il n'est pas deja lancé
If ListView1.SelectedItem.SubItems(1) = "Running" Then
MsgBox "Le service est dejà demarré"
Exit Sub
Else
'SE connecte
Set services = Locator.ConnectServer(txtserv.Text)
'Recupere le service
Set ServiceObject = services.Get("Win32_Service='" & service & "'")
'Le demarre
ServiceObject.StartService
End If
'Mise a jour
maj (cmdstop.Visible)
End Sub
Private Sub cmdstop_Click()
Dim ServiceObject As SWbemObject
Dim Locator As SWbemLocator
Dim services As SWbemServices
Set Locator = New SWbemLocator
If ListView1.SelectedItem.Selected = False Then MsgBox "Vous devez selectionné un service", vbCritical: Exit Sub
service$ = ListView1.SelectedItem.Text
ligne = ListView1.SelectedItem.Index
If ListView1.SelectedItem.SubItems(1) = "Stopped" Then
MsgBox "Le service est dejà stoppé"
Exit Sub
Else
On Error GoTo error
Set services = Locator.ConnectServer(txtserv.Text)
Set ServiceObject = services.Get("Win32_Service='" & service & "'")
'L'arrete
ServiceObject.Stopservice
error:
MsgBox "Le service n'a pu etre stoppé"
End If
maj (cmdstop.Visible)
End Sub
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As ColumnHeader)
' Quand vous cliquez sur un objet ColumnHeader, le contrôle
' ListView trie selon les sous-éléments de cette colonne.
' Affecte à la propriété SortKey l'index de ColumnHeader - 1
ListView1.SortKey = ColumnHeader.Index - 1
' Affecte à la propriété Sorted la valeur True afin de trier la
' liste.
ListView1.Sorted = True
End Sub
Private Sub maj(tipe As Boolean)
'Efface la list
ListView1.ListItems.Clear
run = 0 'Met a 0 le compteur de service lancé
sto = 0 'Idem pour les services stoppés
compte = 0 'Compte les processus et services
Select Case tipe
Case 0:
'On met a jour les processus
Select Case distant
Case 1:
serveur = txtserv.Text
Set liste = GetObject("winmgmts://" & serveur).InstancesOf("Win32_Process")
Case 0:
Set liste = GetObject("winmgmts:").InstancesOf("Win32_Process")
End Select
For Each element In liste
Set Item = ListView1.ListItems.Add(, , element.Name)
Item.SubItems(1) = element.Handle
Item.SubItems(2) = element.VirtualSize
compte = compte + 1
lblcompte.Caption = compte
DoEvents
Next element
Case 1:
Select Case distant
Case 1:
serveur = txtserv.Text
Set objcol = GetObject("WinMgmts://" & serveur & "/root/cimv2").InstancesOf("Win32_service")
Case 0:
Set objcol = GetObject("WinMgmts:").InstancesOf("Win32_service")
End Select
For Each element In objcol
Set Item = ListView1.ListItems.Add(, , element.Name)
Item.SubItems(2) = element.Description
Item.SubItems(1) = element.state
If element.state = "Running" Then
run = run + 1
Else: sto = sto + 1
End If
compte = compte + 1
lblarr.Caption = "Arretés : " & sto
lbldem.Caption = "Demarrés : " & run
lblcompte.Caption = compte
DoEvents
Next element
End Select
'lblcompte.Caption = ListView1.ListItems.Count
End Sub
Private Sub ListView1_DblClick()
MsgBox ListView1.SelectedItem.Text & " " & ListView1.SelectedItem.SubItems(1)
End Sub
Conclusion
Il y a le Zeep
* 08/030/03 : Mise à jour d'un bug lorsque que la description d'un service etait null
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Fermer un service proprement [ par florentp ]
Bonjour à tous,Je voudrai savoir comment on fait pour fermer proprement un Service. On fait comme pour un processus "normal" ou y a un autre moyen?En
droit sur service nt [ par PBDLpc ]
bonjour à tous, j'ai développé un service NT qui n'apparait pas dans la liste des applications du gestionnaire de taches de windows xp
lancer une appli à distance avec winmgmts [ par centralvince ]
Voilà, j'ai réussi à lancer un processus à distance comme cela :Set process = GetObject("winmgmts:{impersonationLevel=impersonate}!//ordianateur_dista
Processus à Distance [VB2005] [ par irsoy ]
Slt amis, J'ais 2 PC (PC1 & PC2) qui sont connectés en reseau local. Je veut developper une application en VB2005 et l'installée sur le PC1 e
Executable dans un service [ par nerone21 ]
Bonjour...Alors j'ai fait un programme que je ne veut pas que l'utilisateur puisse arreter... donc création d'un service dans lequel j'ai mis un timer
Lancer un service à distance [ par Portos67 ]
Bonjour à tous,Voila j'ai un soucis pour démarrer un service à distance, en sachant que j'ai les droits admin sur les postes, j'arrive à connaître le
Exe fonctionne pas en tant que service ? [ par Louu34 ]
Bonjour a tous, Voila je développe une application a distance, pour executer certaine commande a distance j'ai crée un service. Pour executer ces comm
comment Controler une application lancer dans le processus [ par elmobile ]
salut tous les amisje vous demande si possible à m'aider à trouver une solution de ce problème et merci d'avance.alors voila :j'ai une application app
masquer ou bloquer l'arrêt d'un processus [ par Genildf ]
Bonjour je souhaite masquer ou bloquer l'arrêt de mon programme par le gestionnaire de taches je 'ait que en VB6 il y a app.taskvsible = false pour
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|