Hide Process cacher une fenêtre.

net-pratique Messages postés 20 Date d'inscription dimanche 16 novembre 2003 Statut Membre Dernière intervention 21 avril 2013 - 21 avril 2013 à 11:42
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 21 avril 2013 à 14:11
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

Utilisateur anonyme
21 avril 2013 à 13:41
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
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
21 avril 2013 à 14:11
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
---
0
Rejoignez-nous