Resalut Yannick,
Petite correction de ta fonction.
Comme les variables s, separator et pathIni ne sont pas utilisées, je les ai
retirées, le but étant purement de tester la modalité de la boîte de
dialogue.
J'avais également oublié d'ajouter la fenêtre d'alerte pour vérifier la
modalité.
Je te laisse tester et me donner des nouvelles.
Début de la fonction
def openHTA():
# ouvre un fichier HTA
# le chemin vers le fichier à utiliser
pathFrm = os.path.join(getCurScriptFolderPath(), "frmCreateClass.hta")
# initialisation du fichier intermédiaire
# exécution de la fenêtre HTA
runHTAApplication(pathFrm)
sp.window.alert("fin du traitement")
Fin de la fonction
Voilà, merci à toi.
Bien amicalement,
Abdel.
-----Message d'origine-----
From: Abdel
Sent: Wednesday, May 25, 2016 10:50 AM
To: [email protected]
Subject: [progliste] Re: 6pad++- problème d'ouverture de fichier HTA
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�.
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�.