le 06-23-2009 04:17 AM
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.
Résolu ! Accéder à la solution.
le 06-23-2009 08:57 AM
Bonjour,
Je vous invite à regarder ce lien : Comment fermer une application Windows avec LabVIEW ? .
Cordialement,
le 06-24-2009 02:51 AM
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.
le 06-24-2009 03:22 AM
Bonjour,
En général, lorsque l'on développe une application Windows, on doit définir deux choses :
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).
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,
06-24-2009 03:55 AM - modifié 06-24-2009 03:56 AM
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.
le 06-24-2009 04:09 AM
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,