- Auteur

- Nom
- Nelson Silva
- Social
Introduction
Le monde du développement logiciel est vaste, et lorsqu'il s'agit d'interagir avec le système d'exploitation, la complexité peut croître rapidement. C# est un langage puissant qui offre une série de classes et de bibliothèques pour faciliter cette interaction. L'une des classes les plus utiles pour la manipulation des processus est la classe Process.
Que sont les Processus ?
Avant de plonger dans la classe elle-même, il est crucial de comprendre ce que sont les processus. Dans les systèmes d'exploitation, un processus est une instance d'un programme en cours d'exécution. Il contient le code du programme et son état actuel. Les processus sont essentiels pour le multitâche, permettant à plusieurs programmes de s'exécuter simultanément.
Explorer la Classe Process
La classe Process, qui fait partie de la bibliothèque System.Diagnostics, est une représentation gérée d'un processus. Elle permet aux développeurs de démarrer, surveiller et contrôler des processus, qu'ils soient locaux ou distants.
Principales Méthodes et Propriétés :
- Start(): L'une des méthodes les plus utilisées. Elle démarre un processus et retourne une instance de celui-ci.
- Kill(): Comme son nom l'indique, elle "tue" un processus. Lors de l'utilisation de cette méthode, il est essentiel de faire preuve de prudence pour éviter toute perte de données ou tout comportement indésirable.
- Close(): Contrairement à
Kill(), cette méthode libère uniquement les ressources associées au processus. - GetProcesses(): Essentielle pour la surveillance, elle retourne une liste de tous les processus en cours d'exécution.
- GetProcessesByName(): Une variante de la méthode précédente qui filtre les processus par nom.
Travailler avec les Événements :
Une autre fonctionnalité puissante de la classe Process est la capacité à travailler avec des événements. Par exemple, l'événement Exited permet au programme de savoir quand un processus a terminé son exécution.
Cas d'Utilisation Courants :
- Automatisation des Tâches : Automatiser des tâches répétitives, comme ouvrir un ensemble de programmes au démarrage de l'ordinateur.
- Surveillance des Ressources : Surveiller l'utilisation des ressources par des processus spécifiques et agir en conséquence.
- Intégration avec d'Autres Logiciels : Par exemple, lancer un logiciel d'édition d'images depuis un programme de gestion de photos.
Exemple Pratique
using System;
using System.Diagnostics;
using System.Linq;
namespace Base {
class ClasseProcessus {
// private Process processus;
private Process[] listeProcessus;
public void Run() {
/*
processus = Process.Start("notepad.exe");
processus.Kill();
Console.Write("Rechercher : ");
var recherche = Console.ReadLine();
RechercherSurGoogle(recherche);
*/
listeProcessus = Process.GetProcessesByName("chrome");
Console.WriteLine($"Nombre de processus : {listeProcessus.Count()}");
foreach (var processus in listeProcessus)
Console.WriteLine($"Nom du processus : {processus.ProcessName}");
}
private void RechercherSurGoogle(string recherche) {
var application = @"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe";
Process.Start(application, $"https://www.google.com/search?q={recherche}".Replace(' ', '+'));
}
}
}
/*
Nombre de processus : 28
Nom du processus : chrome
Nom du processus : chrome
Nom du processus : chrome
...
*/
Conclusion
La classe Process est un outil indispensable pour tout développeur C#. Elle ouvre un large éventail de possibilités pour interagir avec les processus du système d'exploitation et les contrôler. Cependant, ce pouvoir s'accompagne de la responsabilité de l'utiliser correctement et avec prudence.