Masquer la fenêtre de la console dans les appels système
Lors de l'utilisation de fonctions telles que os.system() ou subprocess.call() pour exécuter des commandes système , une fenêtre de console peut apparaître momentanément. Cela peut être indésirable dans certaines situations.
Pour atténuer cela, le processus STARTUPINFO du sous-processus fournit une option pour masquer la fenêtre de la console. Voici comment :
import subprocess si = subprocess.STARTUPINFO() si.dwFlags |= subprocess.STARTF_USESHOWWINDOW #si.wShowWindow = subprocess.SW_HIDE # default subprocess.call('taskkill /F /IM exename.exe', startupinfo=si)
Vous pouvez également désactiver la création de fenêtres à l'aide d'indicateurs de création :
subprocess.call('taskkill /F /IM exename.exe', creationflags=subprocess.CREATE_NO_WINDOW)
Les méthodes ci-dessus suppriment la création de fenêtres de console, mais le processus possède toujours des handles standard pour la console I. /O.
Pour éliminer complètement la console, utilisez le DETACHED_PROCESS flag:
subprocess.call('taskkill /F /IM exename.exe', creationflags=subprocess.DETACHED_PROCESS)
Dans ce cas, les handles standard de l'enfant sont annulés, mais vous pouvez les rediriger vers d'autres fichiers ou tuyaux ouverts.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!