OVH Cloud OVH Cloud

Applications HTA

8 réponses
Avatar
mc
Bonjour,
je souhaite depuis une application HTA:
- En ouvrir une autre.
- Récupérer des valeurs entre les deux applications.

Bref, peut-on faire avec le HTA la même chose qu'en HTML?

Merci d'avance.

8 réponses

Avatar
Méta-MCI
Bonjour !

On peut.
Plus de détails ce soir, si j'ai du temps...

@+

Michel Claveau
Avatar
Méta-MCI
Re !


Dans l'appli appelante, on peut ouvrir une autre fenêtre HTA/HTML avec un
truc du genre :
var w = window.open('toto.htm', ...

Ensuite, on peut utiliser "w." comme handle, pour adresser le contenu de la
fenêtre ouverte (par exemple "w.document..."), en lecture comme en écriture.



Côté fenêtre ouverte (appelée), on peut utiliser :

var oorig = opener.objet

pour ouvrir un handle sur un objet de la fenêtre appelante.



Enfin, j'ai constaté qu'une appli .HTA ouvre une fenêtre .HTML comme si
c'était un HTA (pas de barre d'adresse, pas de menus, etc.)



@-salutations
--
Michel Claveau
Avatar
mc
Merci pour cette réponse, cependant tout ne se passe pas comme prévu
lorsqu'il s'agit d'ouvrir une fenêtre HTA depuis une fenêtre HTA:
- Une boite de dialogue ouvrir-enregistrer apparaît. Génant mais pas
bloquant.
- Opener ne fonctionne pas.
- L'accès à la fenêtre ouverte non plus.
Evidement si l'on ouvre une fenêtre HTM on n'a pas ces problèmes mais on
perd le bénéfice du HTA (blocage SP2 XP oblige).

Merci encore.


Re !


Dans l'appli appelante, on peut ouvrir une autre fenêtre HTA/HTML avec un
truc du genre :
var w = window.open('toto.htm', ...

Ensuite, on peut utiliser "w." comme handle, pour adresser le contenu de la
fenêtre ouverte (par exemple "w.document..."), en lecture comme en écriture.



Côté fenêtre ouverte (appelée), on peut utiliser :

var oorig = opener.objet

pour ouvrir un handle sur un objet de la fenêtre appelante.



Enfin, j'ai constaté qu'une appli .HTA ouvre une fenêtre .HTML comme si
c'était un HTA (pas de barre d'adresse, pas de menus, etc.)



@-salutations
--
Michel Claveau








Avatar
Méta-MCI
Bonsoir !

J'ai pu remarquer que, lorsqu'un .HTM est ouvert par un .HTA, le .HTM se
comporte comme un .HTA, à deux différences près :
- c'est IExplorer qui exécute le script, et non MSHTA
- le répertoire de travail est le répertoire courant, alors que, pour un
.HTA, le répertoire de travail est celui où se trouve MSHTA.exe

Petite info accessoire : pour contourner les messages "Téléchargement de
fichier... /Executer/Enregistrer/Annuler" et "Un activeX pourrait
endommager...", j'ai développé un horrible, et pas beau, petit utilitaire
qui répond automatiquement la bonne option.

Eventuellement, je pourrais l'envoyer en privé.

@-salutations

Michel Claveau
Avatar
mc
C'est effectivement les constatations que j'ai fait aussi.

Bonsoir !

J'ai pu remarquer que, lorsqu'un .HTM est ouvert par un .HTA, le .HTM se
comporte comme un .HTA, à deux différences près :
- c'est IExplorer qui exécute le script, et non MSHTA
- le répertoire de travail est le répertoire courant, alors que, pour un
..HTA, le répertoire de travail est celui où se trouve MSHTA.exe

Petite info accessoire : pour contourner les messages "Téléchargement de
fichier... /Executer/Enregistrer/Annuler" et "Un activeX pourrait
endommager...", j'ai développé un horrible, et pas beau, petit utilitaire
qui répond automatiquement la bonne option.

Eventuellement, je pourrais l'envoyer en privé.

@-salutations

Michel Claveau






Avatar
Méta-MCI
J'ai envoyé les fichiers...
Avatar
Jean
Bonjour,
je souhaite depuis une application HTA:
- En ouvrir une autre.
- Récupérer des valeurs entre les deux applications.

Bref, peut-on faire avec le HTA la même chose qu'en HTML?

Merci d'avance.


Comme Michel il faut que je retrouve ... mais je crois que ça ne
fonctionne plus.

Sinon, il faudrait un peu détailler vos intentions ... il y a peut être
d'autres alternatives en "pur scripting".

Amicalement,

--
Jean - JMST
Belgium

Avatar
mc
Bonjour,
je suis en train de développer un utilitaire pour faciliter la migration des
machines de mon entreprise de NT vers AD 2003.
Afin de limiter la taille de l'interface, je souhaite avoir une page par
groupe d'actions à mener. Nécessairement, cet éclatement m'oblige à assurer
un échange d'informations entre celles-ci comme on pourrait le faire en HTML.
Depuis le début du post j'ai bien progressé et j'ai trouvé une solution qui
me satisfait. Elle consiste à insérer un Iframe dans mon application. C'est
son contenu qui va changer en affichant des pages HTML. La seule précausion
est d'ajouter un attribut APPLICATION=true à la balise IFRAME.Voici un lien
vers la MSDN
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/hta/overview/htaoverview.asp




Bonjour,
je souhaite depuis une application HTA:
- En ouvrir une autre.
- Récupérer des valeurs entre les deux applications.

Bref, peut-on faire avec le HTA la même chose qu'en HTML?

Merci d'avance.


Comme Michel il faut que je retrouve ... mais je crois que ça ne
fonctionne plus.

Sinon, il faudrait un peu détailler vos intentions ... il y a peut être
d'autres alternatives en "pur scripting".

Amicalement,

--
Jean - JMST
Belgium