Hide Process cacher une fenêtre.

Signaler
Messages postés
20
Date d'inscription
dimanche 16 novembre 2003
Statut
Membre
Dernière intervention
21 avril 2013
-
Messages postés
14770
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 février 2021
-
Bonjour a vous.

J'ai réalisé un bout de code qui exécute, interagit et retourne les information d'un exe (xfoil.exe) codé en Fortran. c'est un programme qui s'exécute et fonctionne à la sauce DOS, en ligne de commande.

Mon code (vb 2012) utilise les routines "process"et pour ne pas afficher la fenêtre de celui-ci j'ai ajouté ".WindowStyle = ProcessWindowStyle.Hidden"
dans mes lignes. le problème et que l'exécutable Xfoil.exe génère d'autres fenêtres


Me.AcceptButton = ExecuteButton
MyProcess = New Process
With MyProcess.StartInfo
.FileName = "c:\Xfoil.exe"
.UseShellExecute = False
.CreateNoWindow = True
.RedirectStandardInput = True
.RedirectStandardOutput = True
.RedirectStandardError = True
.WindowStyle = ProcessWindowStyle.Hidden
End With
MyProcess.Start()

le problème et que l'exécutable Xfoil.exe génère d'autres fenêtres dont je ne ne sais comment cacher leur présence. Existe t'il une piste pour surveiller l'exécution d'un process sans rentrer dans des boucles trop disgracieuses.

Ci-dessous
1-la fenêtre noir générée (donc à cacher).
2-Mon prog console en cours de développement.
3-Le gestionnaire des taches avec en surbrillance: le process à surveiller.

/url/img


Il va sans dire, que des remerciements généreux, seront servis en réponse a une âme charitable se penchant sur mon problème.


Laurans

2 réponses


Bonjour,
Commence donc par afficher les processus actifs dans une listbox par exemple:
  ListBox1.Items.Clear()
        Dim myProcesses() As Process
        Dim myProcess As Process
        myProcesses = Process.GetProcesses()
        For Each myProcess In myProcesses
            ListBox1.Items.Add(myProcess.ProcessName)
        Next



Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
14770
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 février 2021
151
Bonjour,

Il est possible de rechercher une fenêtre à partir de son titre, puis d'agir dessus, mais il faut passer par les API Windows.

Sinon, as-tu essayer de réduire la première fenêtre au lieu de la masquer (moins propre, mais à essayer).

v----Signature--------v----------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---