HTA, IE et message ActiveX (Jean ? d'autres intéressés ?)
4 réponses
Méta-MCI
Dear Jean!
How you know, it's not possible to....
Heu, désolé, j'avais oublié qu'ici, on parlait français !
Cher Jean !
Les vacances ont été profitables. En effet, j'ai trouvé un moyen de lancer
(des fenêtres) Internet-Explorer avec des ActiveX (ou des serveurs COM),
sans avoir de message d'avertissement.
C'est très simple : il suffit d'utiliser un HTA, qui lance, via
OLE-Automation, une fenêtre invisible d'Internet-Explorer, se connecte
dessus, lui crée une variable (au niveau window), et lui affecte (lui
injecte) un objet, en l'occurrence l'ActiveXObject du HTA appelant.
J'ai testé, avec succès, Ponx, WSH, ou AutoItX (version ActiveX d'AutoIt).
Certes, il faut laisser ouvert le HTA ainsi que la fenêtre
Internet-Explorer. Mais, heureusement, un HTA a la possibilité de ne pas
avoir d'icône dans la barre des tâches ; il suffit donc qu'il s'auto-déplace
en dehors de l'écran, pour quasi disparaître. Quand à la fenêtre
Internet-Explorer, le fait de l'ouvrir en invisible fait disparaître l'icône
de la barre des tâches.
Cependant, j'ai effectué des tests de performances. Et, là, c'est moins
bien. Comparé à un appel direct, passer par un "pont" Internet-Explorer+HTA,
c'est 5 fois plus lent. J'ai obtenu 0,5 milliseconde par appel, contre 0,1
en connexion directe.
Néanmoins, la persistance, et la possibilité d'avoir plusieurs clients sur
le même objet COM, compensent largement ce petit inconvénient.
Entre autre possibilité, j'ai testé l'accès à un composant COM depuis un
batch (avec persistance, je le rappelle).
Cela devrait aussi permettre à Power-Shell d'accéder à des serveurs COM
dynamiques, et peut-être de simuler un serveur COM en power-shell (sous
réserve d'expérimentation).
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean
Dear Jean!
How you know, it's not possible to.... Heu, désolé, j'avais oublié qu'ici, on parlait français !
... enfin ... presque ... une fois :-)
Cher Jean !
Les vacances ont été profitables.
J'ai vu ça :-)
............ Quand à la fenêtre Internet-Explorer, le fait de l'ouvrir en invisible fait disparaître l'icône de la barre des tâches.
Il y a peut être moyen d'utiliser une iframe dans le hta à la place de l'instance InternetExplorer.Application ...
............. Néanmoins, la persistance, et la possibilité d'avoir plusieurs clients sur le même objet COM, compensent largement ce petit inconvénient.
Je le pense aussi :-)
Entre autre possibilité, j'ai testé l'accès à un composant COM depuis un batch (avec persistance, je le rappelle).
Cela devrait aussi permettre à Power-Shell d'accéder à des serveurs COM dynamiques, et peut-être de simuler un serveur COM en power-shell (sous réserve d'expérimentation).
A voir. Mais je pense que l'accès aux com devrait être amélioré dans un futur PowerShell.
@+
Michel Claveau
Amicalement,
-- Jean - JMST Belgium
Dear Jean!
How you know, it's not possible to....
Heu, désolé, j'avais oublié qu'ici, on parlait français !
... enfin ... presque ... une fois :-)
Cher Jean !
Les vacances ont été profitables.
J'ai vu ça :-)
............
Quand à la
fenêtre Internet-Explorer, le fait de l'ouvrir en invisible fait
disparaître l'icône de la barre des tâches.
Il y a peut être moyen d'utiliser une iframe dans le hta à la place de
l'instance InternetExplorer.Application ...
.............
Néanmoins, la persistance, et la possibilité d'avoir plusieurs clients sur
le même objet COM, compensent largement ce petit inconvénient.
Je le pense aussi :-)
Entre autre possibilité, j'ai testé l'accès à un composant COM depuis un
batch (avec persistance, je le rappelle).
Cela devrait aussi permettre à Power-Shell d'accéder à des serveurs COM
dynamiques, et peut-être de simuler un serveur COM en power-shell (sous
réserve d'expérimentation).
A voir.
Mais je pense que l'accès aux com devrait être amélioré dans un futur
PowerShell.
How you know, it's not possible to.... Heu, désolé, j'avais oublié qu'ici, on parlait français !
... enfin ... presque ... une fois :-)
Cher Jean !
Les vacances ont été profitables.
J'ai vu ça :-)
............ Quand à la fenêtre Internet-Explorer, le fait de l'ouvrir en invisible fait disparaître l'icône de la barre des tâches.
Il y a peut être moyen d'utiliser une iframe dans le hta à la place de l'instance InternetExplorer.Application ...
............. Néanmoins, la persistance, et la possibilité d'avoir plusieurs clients sur le même objet COM, compensent largement ce petit inconvénient.
Je le pense aussi :-)
Entre autre possibilité, j'ai testé l'accès à un composant COM depuis un batch (avec persistance, je le rappelle).
Cela devrait aussi permettre à Power-Shell d'accéder à des serveurs COM dynamiques, et peut-être de simuler un serveur COM en power-shell (sous réserve d'expérimentation).
A voir. Mais je pense que l'accès aux com devrait être amélioré dans un futur PowerShell.
@+
Michel Claveau
Amicalement,
-- Jean - JMST Belgium
Michel Claveau
Salut !
Une question, hors sujet, mais sur le même sujet : j'ai l'impression que, dans les HTA, le pragma "defer" est ignoré.
Confirmation ?
-- @-salutations
Michel Claveau
Salut !
Une question, hors sujet, mais sur le même sujet : j'ai l'impression
que, dans les HTA, le pragma "defer" est ignoré.
Non ! Je confirme plutôt qu'on devrait toujours tester un peu plus, avant de dire des co......s
Donc : "defer" fonctionne normalement, dans le HTA.
-- @-salutations
Michel Claveau
Méta-MCI
Bonsoir !
Il y a peut être moyen d'utiliser une iframe dans le hta à la place de l'instance InternetExplorer.Application ...
J'ai essayé. Mais le iframe reste du HTA ; il n' y a pas d'instance Internet-Explorer mise en place, donc pas de serveur COM accessible.
Dommage, l'idée était bonne.
Sinon, j'avais essayé l'inverse : un iFrame HTA dans une page Internet-Explorer. Mais l'aspect HTA est alors ignoré, et le document est traité comme du HTML.
@
MCI
Bonsoir !
Il y a peut être moyen d'utiliser une iframe dans le hta à la place de
l'instance InternetExplorer.Application ...
J'ai essayé. Mais le iframe reste du HTA ; il n' y a pas d'instance
Internet-Explorer mise en place, donc pas de serveur COM accessible.
Dommage, l'idée était bonne.
Sinon, j'avais essayé l'inverse : un iFrame HTA dans une page
Internet-Explorer. Mais l'aspect HTA est alors ignoré, et le document est
traité comme du HTML.
Il y a peut être moyen d'utiliser une iframe dans le hta à la place de l'instance InternetExplorer.Application ...
J'ai essayé. Mais le iframe reste du HTA ; il n' y a pas d'instance Internet-Explorer mise en place, donc pas de serveur COM accessible.
Dommage, l'idée était bonne.
Sinon, j'avais essayé l'inverse : un iFrame HTA dans une page Internet-Explorer. Mais l'aspect HTA est alors ignoré, et le document est traité comme du HTML.