Minimiser un programme extérieur en VB NET

Résolu
Minuitdixhuit - 11 mai 2013 à 00:06
 Utilisateur anonyme - 13 mai 2013 à 13:43
Bonjour à tous.
Visual Studio 2010

Ma problematique est la suivante :
Avec un :

Process.Start(Environment.ExpandEnvironmentVariables("%SystemRoot%\explorer.exe"), Environment.ExpandEnvironmentVariables("%SystemRoot%\Fonts"))

j'ouvre le répertoire (généralement : C:\Windows\Fonts) qui me permet de vérifier "manuellement" qu'une police est installée. Je fais ainsi car je veux que la vérification soit faite "de visu" par l'utilisateur et non par programme.

Mais ensuite je voudrais refermer cette fenêtre ou au moins la minimiser et ceci par programme pour qu'elle ne reste pas béante derrière mon application...

Avez-vous une suggestion ?

Merci.

PS : si vous vous demandez pourquoi ma question est tordue, je vous répondrai que c'est parce que mon application est tordue... Et si vous êtes vraiment curieux je vous la communiquerai...

64 réponses

Utilisateur anonyme
12 mai 2013 à 02:09
Bonjour,

Et puis, juste pour le fun. Sur mon disque, j'ai la police Arial Unicode MS (version 1.01). Elle contient 38 917 caractères. Elle fait plus de 22 Mo.

Moi, je trouverais le moyen de tester l'espace disponible sur le disque, et d'avertir mon volontaire de ce besoin-là, avant d'installer quoi que ce soit de force. Eh oui, encore des états d'âme qui n'aident pas à installer quelque chose de force.
3
Utilisateur anonyme
11 mai 2013 à 01:45
Bonjour,

Avez-vous une suggestion ?


1) Oui, avoir une form pour afficher les polices.

2) Utiliser le contrôle FontDialog qui doit même être dans ta boîte à outils
0
Minuitdixhuit
11 mai 2013 à 02:32
Merci Marcotte pour ta prompte réponse mais malheureusement, comme je le craignais, tu me donnes "ta" solution et non pas "la" solution à mon problème.

En d'autres termes je n'ai pas été assez clair et je reformule donc ma question autrement :
Comment peut-on, par programme, minimiser ou fermer une fenêtre de répertoire externe à son application en cours, d'une manière relativement simple car on sait et on est sur qu'on l'a ouverte (vu qu'on l'a ouverte par programme 1 microseconde avant).
Par exemple la fenêtre C:\Windows\Fonts (ou E:\TrucMuch\TrucMachin - si j'ai mis C:\Windows\Fonts c'est parce que c'est le cas particulier que je veux régler, mais faisons avancer la science en réglant le cas général...) est ouverte (par explorer.exe) et me montre ainsi le contenu de ce dossier : moi (personellement) je veux la fermer (la fenêtre, pas ma gueule) ou, à la rigueur, la minimiser par mon application en cours écrite en VB Studio 2010...

Merci, merci...
0
Utilisateur anonyme
11 mai 2013 à 03:01
Rien de bien compliqué en théorie. Je n'ai jamais essayé et je n'ai pas envie de l'essayer non plus. Tu as juste à passer par l'API Windows pour trouver le handle de ta fenêtre et la minimiser.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
11 mai 2013 à 03:03
Et puis le règlement dit que le demandeur doit fournir son code.
0
Utilisateur anonyme
11 mai 2013 à 03:18
Et puis, pour trouver le handle de la fenêtre, même pas besoin de l'API. Ouvre ton aide à la rubrique Process, Classe et lis bien les propriétés.

Et puis, dans les méthodes, il y en a une pour fermer un processus qui a sa propre fenêtre. Même qu'il y a un exemple.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
11 mai 2013 à 06:27
Bonjour,
La "démarche" m'échappe totalement.
A lire ce que j'ai lu, ton appli devrait être capable de fermer une fenêtre ouverte par l'utilisateur manuellement (pas par ton appli).
Les questions qui se posent alors sont les suivantes !
Question 1 : automatiquement ou à la demande (par un bouton sur ton appli) ?
Question 2 : comment ton appli distinguerait-elle une fenêtre ainsi ouverte manuellement (et donc à son insu) d'une autre (n'importe quelle autre) à ne pas fermer, elle ?
Explique donc avec précision.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
11 mai 2013 à 07:22
Ah. Excuses. Je viens de voir que la fenêtre ainsi ouverte et à fermer a été ouverte par ton appli. C'est donc plus compréhensible.
Reste la question 1 car :
- si elle doit être fermée automatiquement : quand ? ou au bout de quelle durée ?
- si sur demande de l'utilisateur (donc par un bouton) : bouton pour bouton : pourquoi ne pas agit directement sur la croix de fermeture de la fenêtre à fermer ?

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Minuitdixhuit
11 mai 2013 à 09:57
@CMarcotte
Merci beaucoup CMarcotte, ta réponse "Je n'ai jamais essayé et je n'ai pas envie de l'essayer non plus." m'a fait beaucoup progresser dans mon ignorance.
Tu indiques "Et puis le règlement dit que le demandeur doit fournir son code." Oui. Et donc la 3eme ligne de mon premier mail est mon code. Tu as besoin de quoi de plus ? Je ne saisi pas bien. Si je poste sur ce forum c'est que je ne sais pas faire (Je suis assez ignorant, je sais c'est grave mais il faut bien apprendre et je n'ai trouvé nulle part la réponse à ma question). Désolé de t'avoir dérangé dans ton WE.

@Ucfoutu
Merci de t'interresser à mon problème. Pour répondre à ta question, oui c'est avec un bouton qui sert principalement à autre chose fonctionellement dans mon application que cette fenêtre doit se fermer. Pourquoi ? La raison est que ce n'est pas l'utilisateur qui a sollicité l'ouverture de cette fenêtre, donc, par politesse (Si si, ça existe !), je ne veux pas lui demander de fermer la fenêtre. Je veux lui "rendre" son écran dans l'état qu'il avait avant. (par analogie je déteste ces pages de pub sur le net qui s'ouvrent comme des popup et qui nous colle au doigt quand on veut les fermer : je ne veux pas donner cette impression). Voilà.
Merci.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
11 mai 2013 à 11:10
Ouais...
Je ne sais pas ce que tu fabriques.
Je sais seulement que la plus grande des politesses (je vois que tu t'en préoccupes) n'est pas de "montrer" ce qu'affiche une fenêtre externe non pilotable, ce qui obligerait l'utilisateur à d'autres manoeuvres, mais une boîte de dialogue (où il pourrait faire directement son choix). Si (cas assez rare) cette boîte de dialogue ne peut être offerte à l'utilisateur, je vois mal à quoi pourrait réellement servir un simple affichage de choses diverses ! Il lui faudrait alors faire quoi ? saisir dans une zone de saisie ce qu'il choisit ? faire un copier/coller dans certains cas ? etc ... ?). Pas vraiment "pro", tout cela. Et pas vraiment gentil pour l'utilisateur non plus.
Mais si tu tiens vraiment à cette fausse convivialité, je rejoins totalement la réponse que cmarcotte t'a faite à 03:18:40 (et n'en vois aucune autre dans ce cas).

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Minuitdixhuit
11 mai 2013 à 12:04
@Ucfoutu

Bon je vais t'expliquer ce "que je fabrique".
1) - Pour que mon application fonctionne correctement il faut qu'une police spéciale de 40 000 caractères environ soit installée.
2) - Si je l'installe sans prévenir ou demander l'autorisation à l'utilisateur je reçois (parfois) des mails furieux d'utilisateurs qui me disent qu'ils n'apprécient pas que je "trifouille" leur système (Release 1).
3) - Si je demande l'autorisation d'installer la police certains utilisateurs refusent de l'installer (ou n'ont pas les droits) et me mailent ensuite pour me dire que mon application ne fonctionne pas (Release 2).
4) - Si je leur explique que c'est parce que la police n'est pas installée et qu'ils doivent vérifier si c'est bien le cas certains me répondent qu'ils ne savent pas où on peut vérifier cela (sans parler de ceux qui croient que je les menace de leur envoyer la "Police").

D'où mon idée (Release 3) de leur ouvrir la fenêtre des fonts (puis de la fermer par politesse) et de les guider pour vérifier eux-même parce que 50 mails pour expliquer ça à des gens pas toujours très rationels, ça me fatigue un peu d'autant que mon application est diffusée en France (mails en français), au Portugal et au Brésil (mails en Portugais) en allemagne (mails en allemand) au Japon (mails en japonais) et dans beaucoup de pays anglophones (mails en anglais).

Tout cela n'est peut-être pas très "Pro" comme tu le dis mais c'est du vécu à assumer. Ce n'est pas moi qui décide de la réaction des utilisateurs que je respecte. Je précise que mon application (gratuite, diffusée à environ 8000 ex actuellement) est utilisée par des musiciens qui par nature ne s'embarassent pas avec l'informatique des Geeks et veulent des applications Nickel (bien que gratuites) et pas se casser la tête avec, même quand c'est eux qui cassent tout.

Je tiens donc vraiment à "cette fausse convivialité" dont tu me parles (m'accuses ?).
J'ai donc encore un peu de boulot de recherche. Mais j'y arriverai.
(En attendant je ne fais plus beaucoup de musique...)
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
11 mai 2013 à 12:48
Ouais...
Aucun de tes points 1 à 4 ne justifient ta "méthode" !
Il est quand-même facile, non, de savoir si ta police est ou non installée !
Et il est encore plus facile, si pas installée, de la leur proposer ! Sans qu'on ait à leur ouvrir l'inventaire des polices présentes !
Bon ... C'est l'heure de ma siestita préférée.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Utilisateur anonyme
11 mai 2013 à 13:06
Salut,

En général, on ne s'embarrasse pas de ces problèmes au niveau du code le l'exécutable mais plutôt dans le 'setup' d'installation. Si l'utilisateur lit le fameux cluf ou autre dans lequel tu précises ce qui va s'installer, et qu'il coche une case ou clique sur un bouton en acceptant l'installation, c'est qu'il est censé être d'accord avec l'installation de ta police.
0
Minuitdixhuit
11 mai 2013 à 13:18
@Banana

"Si l'utilisateur lit le fameux cluf..."
J'ai jamais tant ri !!!!

" et qu'il coche une case ou clique sur un bouton en acceptant l'installation, c'est qu'il est censé être d'accord avec l'installation de ta police"
Ça l'empèche pas de m'engueuler !

Merci !

@ucfoutu
"Il est quand-même facile, non, de savoir si ta police est ou non installée !
Et il est encore plus facile, si pas installée, de la leur proposer ! Sans qu'on ait à leur ouvrir l'inventaire des polices présentes ! "
Ben oui, c'est ce que je fais, mais mon expérience montre que même si c'est facile c'est pas suffisant.
Sans vouloir te vexer avant ta sieste, tu raisones pas utilisateur mais bien concepteur... Les temps changent, les gens sont méfiants, voir parano...
0
Utilisateur anonyme
11 mai 2013 à 13:26
Je ne vois pas ce qui est drôle. Bon vent!
0
Minuitdixhuit
11 mai 2013 à 13:38
@banana

"Je ne vois pas ce qui est drôle. Bon vent! "

Désolé si je t'ai vexé, je voulais dire par là que je ne connaissais personne qui ait de l'humour et qui lise les CLUF, sauf toi, peut-être.
0
Utilisateur anonyme
11 mai 2013 à 13:54
Non tu ne m'as pas vexé car je ne me vexe jamais
Quand on répond sur un forum, on doit s'attendre à tout. Et l'on ne sait jamais si c'est du lard ou du cochon parfois.
et qui lise les CLUF, sauf toi, peut-être
Cela va te surprendre, mais oui, je le lis toujours et qui plus est, à chaque nouvelle version d'un logiciel connu. Je l'ai appris très tôt avec Napster à mes dépends. On s'aperçoit alors que l'on doit accepter parfois d'installer d'autres logiciels (ouverture de publicité intempestives ou surveillance quelconque) ou des services windows (ces bestioles qui sommeillent et trafiquent je ne sais quoi en tâche de fond) en même temps.

Pour en revenir au cluf, cette méthode qui se pratique couramment, te permettra de te dédouaner de toute remarque désobligeante de tes utilisateurs. Il te suffira de leur faire remarquer qu'ils n'avaient qu'à le lire avant d'accepter l'installation. Bon vent!
0
Minuitdixhuit
11 mai 2013 à 14:10
@banana

Heureux de ne pas avoir créé un malentendu.
Pour clore le CLUF je vais devoir me farcir les traductions (allemand et portugais ça va, anglais et japonais, beaucoup moins...)
En plus il me faudra trouver un SETUP polyglote, j'utilise celui de Visual Studio, je ne sais pas s'il le permet...
Je suis pas sûr que ça suffira à ma tranquillité.
Merci en tout cas.
Bon WE.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
11 mai 2013 à 15:41
Sans vouloir te vexer avant ta sieste, tu raisones pas utilisateur mais bien concepteur...

Celle-la est de très loin "la meilleure" ...
La seconde personne est à changer en la première !
Bonne chance ...

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Utilisateur anonyme
11 mai 2013 à 16:55
Je ne connais pas l'installeur de visual studio car je n'utilise que les version express. Il existe des installeurs complets comme inno setup. Il est très complet et l'on trouve sur la toile des tas d'exemples pour réaliser des scripts.

Un bonsoir à ucfoutu qui lui non plus ne se vexe jamais
0
Rejoignez-nous