Salut cher ami Yannick,
Je viens de tester la fonction os.system avec le paramètre que tu indiques
précisant l'exécutable mshta.exe avant le chemin du fichier hta.
Le résultat est qu'effectivement, la boîte de dialogue est désormais bien
modale, mais la console MS_DOS s'ouvre quand-même en premier lieu.
J'obtiens un meilleur résultat avec subprocess.check_call et le paramètre
startupinfo.
subprocess.check_call(["mshta.exe", path], startupinfo = startupinfo)
Voici les 2 fonctions qui fonctionnent très bien ici :
La première reçois en paramètre le chemin du fichier hta à exécuter, et la
seconde est celle que tu m'as indiquée, modifiée en conséquence.
Début du code
# Fonction pour l'exécution de l'application HTA.
def runHTAApplication(path):
# Permet d'exécuter une application HTML au format HTA avec
subprocess.check_call.
# Les 2 lignes de code suivantes permettent d'éviter l'ouverture de la
console lors de l'exécution.
# La valeur de la variable startupinfo sera alors affectée au paramètre
startupinfo de la méthode check_call.
startupinfo = subprocess.STARTUPINFO()
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
proc = subprocess.check_call(["mshta.exe", path], startupinfo =
startupinfo)
# Et maintenant, ta fonction modifiée.
def openHTA():
# ouvre un fichier HTA
s = ""
separator = ",,,"
# les chemins vers les fichiers à utiliser
pathIni = getCurScriptFolderPath() + "\\com.ini"
pathFrm = getCurScriptFolderPath() + "\\frmCreateClass.hta"
# initialisation du fichier intermédiaire
writeFile(pathIni, "")
# exécution de la fenêtre HTA
runHTAApplication(pathFrm)
Fin du code
PS:
Pour la fonction getCurModuleDir(), il n'était pas nécessaire de la créer,
puisqu'on avait déjà la fonction getCurScriptFolderPath () qui fait le même
travail...
Voili voilou, merci à toi.
Et voilà un nouveau problème de réglé, grâce à ta persévérance lol !
Bien amicalement,
Abdel.
-----Message d'origine-----
From: Yannick Youalé
Sent: Wednesday, May 25, 2016 6:44 AM
To: [email protected]
Subject: [progliste] 6pad++- problème d'ouverture de fichier HTA
Salut,
Mon cher Abdel, je pense avoir réglé le problème d'ouverture des
fichiers HTA.
C'est que par la fonction os.system, il faut juste indiquer le logiciel
qui doit ouvrir le fichier en question dans l'instruction d'exécution.
En l’occurrence MSHTA.exe.
Les avantages sont que:
* la fenêtre console ne s'affiche plus;
* la fenêtre ouverte est parfaitement modale;
* et les performances sont correctes.
Voici une fonction toute faite à coller dans le module forPython qui
peut te permettre de faire le test chez toi:
Début du code python
def openHTA():
# ouvre un fichier HTA
s = ""
separator = ",,,"
# les chemins vers les fichiers à utiliser
pathIni = getCurModuleDir() + "\\com.ini"
pathFrm = getCurModuleDir() + "\\frmCreateClass.hta"
# initialisation du fichier intermédiaire
writeFile(pathIni, "")
# exécution de la fenêtre HTA
os.system('mshta.exe ' + '"' + pathFrm + '"')
#
alert("fin du traitement")
# end def
Fin du code python
Fais-moi signe si ça fonctionne. Je croise les doigts.
Yannick Daniel Youalé
La programmation est une religion. Aimez-la ou quittez-la.
www.visuweb.net
Progliste :
Pour se d�sinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� �
2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je
vous r�pondrez en priv�.
Progliste :
Pour se d�sinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je
vous r�pondrez en priv�.