Réduire fenêtre grâce à son processus

Fermé
geekploy Messages postés 130 Date d'inscription dimanche 17 avril 2011 Statut Membre Dernière intervention 19 novembre 2014 - 28 avril 2013 à 11:11
Quester4 Messages postés 134 Date d'inscription mercredi 8 février 2012 Statut Membre Dernière intervention 18 juillet 2013 - 10 mai 2013 à 17:09
Bonjour,
J'ai régulièrement des fenêtres qui s'ouvrent liés à des programmes en arrière plan (comme l'antivirus, messageries ....). C'est un fonctionnement normal qui peut être gênant lorsque que je regarde un film, ou que je joue à un jeu, ou lorsque j'utilise word. Bref parfois ces fenêtres sont utiles parfois elles sont gênantes.

J'ai pensé créer un fichier batch qui tourne en arrière plan et kill les processus associés dès que les fenêtres s'ouvrent. Le problème c'est que je veux pas les tuer ou je peux pas les tuer (cf anti-virus).
C'est pourquoi je voudrai réduire ces fenêtres automatiquement pour plus qu'elles me gênent et que je puisse quand même les consulté si l'envi me prend.
Je suis très loin d'être fort en programmation (ayant quand même quelques bases), j'ai pas trouvé la commande en batch qui pourrai réduire un processus quand la fenêtre s'agrandit.
Je ne sais pas si c'est possible, j'ai regardé le tasklist et le taskkill de plus près mais j'ai pas l'impression que je puisse m'en servir.

Si quelqu'un connaissait un moyen de résoudre mon problème j'en serai ravi.
Merci.

ps : Si il existe une commande en VB.net je veux bien tester mais je suis encore plus un novice.

1 réponse

Quester4 Messages postés 134 Date d'inscription mercredi 8 février 2012 Statut Membre Dernière intervention 18 juillet 2013 125
10 mai 2013 à 16:08
Bonjour,

Il est impossible en Batch de masquer des fenêtres sans tuer leurs processus.
Éventuellement, tu peux faire comme ceci :

@echo off
taskkill Processus
start /min Emplacement_Application

Ce qui est tout bête, ça coupe le processus, puis ça le lance en fenêtre réduite. Comme cela, pas de notifications. Et normalement, un processus avec sa fenêtre minimisée ne fera pas de notifications supplémentaires (ensuite, tout dépend du logiciel), donc autant ne pas faire de boucle. Si tu y tiens, tu peux faire une boucle comme ceci :

@echo off
:Start
taskkill Processus
start /min Emplacement_Application
ping localhost -n 60>nul
goto :Start

Le ping va attendre 60 secondes... Avant d'étendre à nouveau l'application et de la relancer. Sinon, chaque seconde le processus sera redémarré, ce qui est assez contraignant au niveau mémoire vive/processeur.
0
geekploy Messages postés 130 Date d'inscription dimanche 17 avril 2011 Statut Membre Dernière intervention 19 novembre 2014 2
10 mai 2013 à 16:30
Merci pour cette réponse. Je me doutais un peu que c'était impossible.
Cette solution est intéressante mais étant donné que je peux pas tuer le processus et qu'une boucle de ce genre est effectivement "contraignante". Je vais plutôt abandonner le batch.
Sais-tu si il est possible de faire ça avec un autre langage comme le visual basic ou autre ?
0
Quester4 Messages postés 134 Date d'inscription mercredi 8 février 2012 Statut Membre Dernière intervention 18 juillet 2013 125
Modifié par Quester4 le 10/05/2013 à 16:39
Je ne sais pas vraiment...
Si tu relis mon paragraphe, tu remarqueras que j'ai intégré dans cet extrait de code la ligne :
ping localhost -n 60>nul
Cette ligne fait patienter pendant 60 secondes, avant de redémarrer les processus, ce qui est bien moins contraignant.
Tu peux bien sûr changer la valeur 60, mettre 600 (donc 10 minutes), 120 (2 minutes), ou autre. Voire même le conserver en fenêtre réduite sans faire de redémarrage... En enlevant le Goto :Start, et le label :Start.

Il doit être possible effectivement de faire ça avec d'autres langages, mais je ne m'y connais pas...
0
geekploy Messages postés 130 Date d'inscription dimanche 17 avril 2011 Statut Membre Dernière intervention 19 novembre 2014 2
10 mai 2013 à 16:48
Oui j'avais bien vu, le soucis c'est que si la fenêtre reste 60s ouverte avant de se fermer ça sert pas à grand, je peux la fermer manuellement en bien moins de 60s.
Merci quand même.
0
Quester4 Messages postés 134 Date d'inscription mercredi 8 février 2012 Statut Membre Dernière intervention 18 juillet 2013 125
10 mai 2013 à 17:09
Le but est justement de garder ouverte mais réduite la fenêtre du processus, de sorte à ce qu'elle se considère comme ayant une fenêtre ouverte, et n'affiche pas de notifications.
0