Envoyé par
tbc92
lanceAppliAssociée et fOuvre sont très différents.
Si tu as un fichiers xlsx, LanceAppliAssociée va ouvrir Excel, si tu as un fichier html, il va ouvrir Internet Explorer (... en principe, ça dépend de la config) En fait, lanceAppliAssociée se comporte exactement comme un double-Clic sur le fichier dans l'explorateur Windows.
Alors que fOuvre ne va pas lancer une application tierce. fOuvre va te permettre de lire le fichier ligne à ligne. FOuvre est donc en principe réservé aux fichiers TXT.
Pour fermer un fichier ouvert par LanceAppliAssociée, c'est galère. Si tu travailles avec un fichier TXT, pour le fermer, tu dois d'abord savoir avec quelle application il a été ouvert ( BlocNote NotePAd++ , etc etc ). Il doit y avoir un moyen d'aller chercher cette info dans les registres, mais c'est compliqué. Admettons que tu fasses l'impasse, et tu sais que c'est le BlocNote.
Ensuite, il faut parcourir toutes les applications 'BlocNote' ouvertes. Je pense que le mot clé utile pour ça c'est Handle... En cherchant ce mot dans la doc Windev, tu vas arriver assez vite sur les fonctions qui tournent autour de ça.
Puis s'il y a plusieurs instance de BlocNotes d'ouvertes, il faut repérer celle qui t'intéresse. Aucune idée pour ça. Enfin, il faut fermer l'application en question. Là encore, galère. Je ne connais pas la commande, mais je pense que ça se trouve. Ca ne va pas être une commande Windev à proprement parler, mais certainement un appel à une API. Et tu peux avoir encore d'autres problèmes à gérer. Si un fichier est ouvert par BlocNote, si l'utilisateur a fait 2 ou 3 modifications, et que tu cherches à fermer violemment cette instance de BlocNote, il va y avoir une boite de dialogue du type (Confirmer/Ignorer/abandonner) qui va s'ouvrir. Il faut donc que tu by-passes cette boite de dialogue.
En toute logique, si tu as une commande LanceAppliAssociée dans ton programme, c'est que tu laisses la main à une application tierce, et donc, tu n'as aucune raison de fermer cette application.
Il y a d'autre pistes... Mais pour développer plus, il faut que tu dises quel type de fichier tu veux ouvrir par LanceAppliAssociée (fichiers Excel, fichiers TXT , ??? ???)
Partager