Discussions au sujet des autres produits NI

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

fermeture d'un programme lancer avec un .bat

Résolu !
Accéder à la solution

Bonjour,

Sur un banc de test et à l'aide d'un fichier x.bat, je lance un logiciel de programmation exterieur à labview.

Je detecte sur la carte la fin de la programmation et si celle ci est correct (via le clignotement d'une led).

 

A ce moment, il serait souhaitable que la fenêtre de programmation soit fermé si possible automatiquement, plutot que de demander a l'utilisateur de femer la fenêtre.

 

Est il possible de fermer la fenêtre avec un second fichier .bat ? Ou y a t il une commande sous labview me permettant de detecter les fenêtres ouvertes sous windows et de fermer celle qui m'interesse (via les noeuds de méthode ou de propriété par exemple) ?

 

Merci d'avance pour votre aide.

 

Jerome B.

0 Compliments
Message 1 sur 6
5 328 Visites
Solution
Accepté par l'auteur du sujet Oniliwin

Bonjour,

 

Je vous invite à regarder ce lien : Comment fermer une application Windows avec LabVIEW ? .

 

Cordialement,

Message 2 sur 6
5 321 Visites

Bonjour,

je reviens vers vous car je n'arrive pas a fermer les fenêtres. J'ai réaliser le même schema, mais cela ne fonctionne pas. Le nom du fichier dans la chaine de caractere est bien le nom du processus(fenetre) à clore ?

Slts

Jerome B.

0 Compliments
Message 3 sur 6
5 303 Visites

Bonjour,


En général, lorsque l'on développe une application Windows, on doit définir deux choses :

  • Un titre pour la fenêtre
  • Un nom pour définir la classe de la fenêtre

 

Les paramètres qui doivent être passés à la DLL user32.dll pour utiliser la fonction FindWindow, sont en fait le nom de la classe de la fenêtre et le titre de la fenêtre.

 

En général, les deux sont identiques. Dans votre cas il semblerait que non, je vous conseil alors de télécharge le logiciel Winspector qui est gratuit et qui permet de récupérer ce genre d'information (www.windows-spy.com).

 

 

exemple.JPG

 

 

Dans le lien que je vous ai donné, le nom de la classe est en fait mis à 0, ce qui fonctionne pour la plupart des applications Windows.

 

Dans votre cas, je vous conseil de remplacer le 0 par une chaîne de caractères contenant le nom de la classe récupéré précédemment.

 

Ceci devrait fonctionner. N'hésitez pas à poster un screenshot de l'application à fermer et un screenshot des informations reçues par Winspector dans le cas ou cela ne fonctionnerait toujours pas.

 

Cordialement,

0 Compliments
Message 4 sur 6
5 294 Visites


Merci pour toutes les informations. J'ai fini par récupérer le numéro de référence de la fenêtre, mais il y a une erreur sur le code de fermeture de la fenêtre : 10 est en hexa et non en entier. Il faut donc passer 16 comme paramètre entier et non 10. (Lien pour les codes hexa de la fonction sendMessage API http://www.vbcode.com/Asp/showsn.asp?theID=11797)

 

Tout est OK, maintenant.  

 

Slts

 

Jerome B.

Message Edité par Oniliwin le 06-24-2009 03:56 AM
0 Compliments
Message 5 sur 6
5 289 Visites

Bonjour,

 

Merci de votre retour, dans l'exemple il s'agissait bien d'une constante en héxadécimal, ce que j'ai oublié de précisé, merci de l'information.

 

Cordialement,

0 Compliments
Message 6 sur 6
5 283 Visites