2016-05-13 2 views
1

J'ai un script qui a une interface graphique, qui prend les données utilisateur et les stocke dans un fichier texte. Il exécute un autre script (un .exe), qui attend l'entrée de l'utilisateur et effectue ensuite un travail. Ce que je veux, c'est que ce dernier cache sa fenêtre de console après avoir lu les entrées de l'utilisateur, mais pour continuer à travailler en arrière-plan. J'ai essayé d'exécuter ce script avec subprocess.call('lastscript.exe', shell=True) ou subprocess.Popen('lastscript.exe', shell=True). Cela ne fonctionne pas. Je dois prendre l'entrée de l'utilisateur d'abord, puis cachez la console et laissez le programme fonctionner en arrière-plan.Masquage de la fenêtre de la console après la lecture de l'entrée

+0

avez-vous envisagé d'utiliser une fenêtre tk pour l'entrée? – R21

+0

@ R21 J'utilise PyQt5 pour GUI – GLHF

+0

Contrôlez-vous la source de lastscript.exe? Il peut facilement cacher sa propre fenêtre de console. – eryksun

Répondre

2

Voici un extrait de code pour cacher la console Windows dans un script Python:

import ctypes 

kernel32 = ctypes.WinDLL('kernel32') 
user32 = ctypes.WinDLL('user32') 

SW_HIDE = 0 

hWnd = kernel32.GetConsoleWindow() 
if hWnd: 
    user32.ShowWindow(hWnd, SW_HIDE) 
+0

Cela fonctionne sur mon exemple de script, je vais l'essayer sur le script principal mais je pense que ça va marcher. Merci d'avoir répondu. – GLHF