Comment Fermer Un Programme à Partir De Visual Basic

Table des matières:

Comment Fermer Un Programme à Partir De Visual Basic
Comment Fermer Un Programme à Partir De Visual Basic

Vidéo: Comment Fermer Un Programme à Partir De Visual Basic

Vidéo: Comment Fermer Un Programme à Partir De Visual Basic
Vidéo: Ouvrir Form2 et fermer Form1 - Visual Basic 2024, Novembre
Anonim

Le langage de programmation flexible et puissant Visual Basic. NET, étant l'un des outils spécialement créés pour le développement d'applications pour la plate-forme Microsoft. NET, vous permet d'utiliser pleinement toutes ses capacités. En particulier, les composants de l'espace de noms System. Diagnostics vous permettent d'interagir avec les processus, les journaux d'événements et les compteurs de performances. Par exemple, vous pouvez fermer un programme à partir de Visual Basic à l'aide de la classe Process.

Comment fermer un programme à partir de Visual basic
Comment fermer un programme à partir de Visual basic

Nécessaire

Microsoft Visual Studio

Instructions

Étape 1

Importez les espaces de noms System, System. Diagnostics et System. Threading. Ajoutez les lignes de code suivantes au début du module:

Système d'importation

Importe System. Diagnostics

Importe System. Threading

C'est juste pour la commodité d'utiliser les composants associés à ces espaces de noms.

Étape 2

Obtenez les données du processus à fermer. Utilisez l'objet de classe System. Diagnostics. Process. Déclarez une variable de cette classe:

Dim oProc en tant que processus

Ensuite, utilisez une méthode pour trouver le processus requis.

Étape 3

Si le programme, qui devra être fermé à l'avenir, est lancé par l'application en cours de développement, il suffit de sauvegarder l'objet renvoyé par la méthode Start au démarrage:

oProc = Process. Start ("app.exe")

Étape 4

Si vous devez fermer un processus avec un identifiant connu, utilisez la méthode statique GetProcessById de la classe Process pour obtenir l'objet correspondant:

oProc = Process. GetProcessById (nID)

Où nID est l'identifiant numérique du processus.

Étape 5

Si seules certaines des caractéristiques du processus cible sont connues, recherchez-le. Obtenez la liste des processus exécutés sur la machine locale sous la forme d'un tableau d'objets de la classe Process. Utilisez les méthodes GetProcesses (renvoie tous les processus) ou GetProcessesByName (uniquement les processus portant le nom donné):

Dim aoAllProcesses As Process () = Process. GetProcesses ()

Dim aoProcsByName As Process () = Process. GetProcessesByName ("app.exe")

Répertoriez les objets du tableau à l'aide d'une boucle:

Dim oProc en tant que processus

Pour chaque oProc dans aoAllProcesses

'actions sur oProc

Prochain

Parcourez les propriétés MainModule, MainWindowTitle, ProcessName, etc. pour trouver l'objet désiré.

Étape 6

Essayez de terminer le programme en envoyant un message de fermeture à sa fenêtre principale. Appelez la méthode CloseMainWindow de l'objet correspondant au processus cible. Si nécessaire, attendez la fin de l'application en appelant WaitForExit, par exemple:

oProc. Fermer la fenêtre principale ()

oProc. WaitForExit ()

Cette méthode ne garantit pas la fin du programme, car le message de fermeture de fenêtre est souvent traité et peut être ignoré.

Étape 7

Attendez un court laps de temps après avoir appelé CloseMainWindow pour vous assurer que le programme se termine. Utilisez la méthode Sleep de la classe Thread. Vérifiez ensuite l'état du processus en examinant la propriété HasExited et, si ce n'est pas terminé, appelez la méthode Kill:

Fil. Sommeil (6000)

oProc. Refresh ()

Sinon oProc. HasExited Then

oProc. Kill ()

Fin si

Si vous le souhaitez, vous pouvez interroger l'état du processus dans une boucle, en envoyant des invites périodiques à l'utilisateur pour qu'il termine l'application sans enregistrer les données. Et seulement si vous acceptez d'appeler Kill.

Étape 8

Libérez les ressources système une fois le programme terminé à l'aide de la méthode Close:

oProc. Fermer ()

Étape 9

Pour éviter les erreurs inattendues lors de l'exécution de l'application, placez l'intégralité de l'algorithme de fermeture du programme dans un bloc Try-Catch-End Try. Implémentez une gestion complète des exceptions avec des messages de diagnostic, si nécessaire.

Conseillé: