OUVRIR UN HTA A PARTIR D'UN AUTRE HTA SANS MESSAGE (EXECUTER OU ENREGISTRER) + P

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 4 déc. 2006 à 13:57
David78390 Messages postés 197 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 10 juillet 2011 - 11 déc. 2006 à 09:34
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40524-ouvrir-un-hta-a-partir-d-un-autre-hta-sans-message-executer-ou-enregistrer-passage-de-parametre-et-de-variable

David78390 Messages postés 197 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 10 juillet 2011
11 déc. 2006 à 09:34
Oui néo3 mais si les ActiveX sont bloqué par l'utilisateur (outil, option internet,avancé, sécurité), tu as un joli message windows qui te previens.
NEO III Messages postés 68 Date d'inscription jeudi 14 septembre 2006 Statut Membre Dernière intervention 10 septembre 2010
7 déc. 2006 à 12:57
Je manipule ce truc de puis longtemps et il y a beaucoup plus simple :

var reg=new ActiveXObject("WScript.Shell");
reg.run("le chemin du fichier HTA");

Note : fonctionne aussi avec tous les fichiers y compris EXE

Désolé pour ta "trouvaille" ^^

NEO III
David78390 Messages postés 197 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 10 juillet 2011
5 déc. 2006 à 17:03
Tu sais il est tout à fait possible d'ouvrir un fichier hta directement en local et cela sans avoir de message pour exécuter ou enregistrer.

Oui lorsque tu lance le 1er fichier (TestIndex.hta), je suis d'accord, tu n'as pas de message.
Par contre, losque tu fait un lien vers un autre fichier hta (cf lien2 dans la nouvelle source) le message d'enregistrement ou d'exécution apparait.
David78390 Messages postés 197 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 10 juillet 2011
5 déc. 2006 à 16:56
Milles excuses pour le principe: Lorsque l'on reprend l'idée d'une autre personne, il me semble qu'il faut le noter.

Donc Merci a toi pour le coup de main du .htas .
(P.S: je t'ai citer sur le site VB, mais ais oublié de le faire ici.
Si tu parles de la source du site VB, c'est de moi)

Voila pour mon "me aculpa".

Pour ce qui est des problemes:
1- une boîte de message demandant si nous voulons exécuter le fichier:
Le but était justement de supprimer le message windows.
Ca marche trés bien sur mon PC (et ceux du boulot), donc je ne vois pas pourquoi le message apparais chez toi.
1er: Comme dis Bricomaniac, c'est peut etre ton antivirus, ou un firewall qui donne le message.
Sur les images postées, il semble que ce soit McAffe qui bloque le hta (voir symbole en bas de la fenetre).
Le message windows se presente comme cela: http://img177.imageshack.us/my.php?image=buget2.jpg
2eme: a partir d'où l'as-tu executer?

2-Regardes j'ai mis ton fichier doc.hta sur mon bureau et je l'ai ouvert, je n'ai pas eu la boîte, exécuter.
Donc cette foi le message executer, enregistrer n'apparait pas... c'est bizard puisqu'il apparaissait dans ton 1er post.

3-Il semblerait qu'il y ait une faute dans ton fichier hta à la ligne 36.
L'erreur apparait lorsque tu lance le fichier doc.hta dirrectement (sans passer par TestIndex.hta et le lien).
C'est normal dans ce cas;
l'intruction: var ParamEntier=doc.commandLine.split("/?");
prend l'url de la page,
creer un tableau ParamEntier avec dans
-ParamEntier[0] ce qui est avant le /?
-ParamEntier[1] ce qui est aprés le /?
>Split permet d'isoler les champ entre /?

or quand tu lance le fichier dirrectement, il n'y a pas de /? dans l'URL, donc param[1] n'existe pas. Du coup quand tu demande d'y acceder, il te plante.
(3message que j'envoie: 2eme partie, apres le symbole /?:undefined)

Pour amméliorer, On pourrait mettre une securité du genre:
if(ParamEntier!=1){ tout le reste du code}
else alert('le fichier a été lancé dirrectement, il n\'y a donc pas de parametre');

j'uploade la source avec modif tout de suite.

Voila j'espere que ces explications vous irons,
n'hesitez pas sinon.
bricomaniac Messages postés 24 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 7 janvier 2007
5 déc. 2006 à 12:36
ton code est bloqué par mon antivirus !

Tu peut utiliser un object :
dans ton head tu met :
<OBJECT ID="OPEN" ViewAsText CLASSID="clsid:13709620-C279-11CE-A49E-444553540000"></OBJECT>
et ensuite pour ton lien tu met href="javascript:OPEN.ShellExecute('chemin de ton hta')"
ps : seul probleme je croit que sa ne fonctionne pas sous 98 et versions anterieures.
francemarieanna Messages postés 12 Date d'inscription mardi 11 juillet 2006 Statut Membre Dernière intervention 5 décembre 2006
5 déc. 2006 à 06:24
Tu sais il est tout à fait possible d'ouvrir un fichier hta directement en local et cela sans avoir de message pour exécuter ou enregistrer.

Regardes j'ai mis ton fichier doc.hta sur mon bureau et je l'ai ouvert, je n'ai pas eu la boîte, exécuter - enregistrer mais ta première boîte de dialogue donnant l'Url où est situé le fichier doc.hta mais cela est dans le code source de ta page hta :

<!--Recupere l'adresse URL-->
var URL=doc.commandLine;
alert("URL de la page:"+URL);

image de ta boîte de dialogue
http://img135.imageshack.us/img135/3295/directementhj6.jpg


Pour ne plus avoir la boîte de dialogue Exécuter et Enregistrer il faut simplement décocher au bas de la boîte :

Toujours demander avant d'ouvrir ce fichier

Ensuite ton fichier hta s'ouvre directement et il n'est pas obligé de faire un autre fichier avec un lien.

Il semblerait qu'il y ait une faute dans ton fichier hta à la ligne 36:

<!--dissocier chaque parametres-->
var Param=ParamEntier[1].split("&");

'ParamEntier1' à la valeur Null ou n'est pas un objet???

Françoise
francemarieanna Messages postés 12 Date d'inscription mardi 11 juillet 2006 Statut Membre Dernière intervention 5 décembre 2006
5 déc. 2006 à 05:50
Ah oui !

J'ai oublié de te dire. Lorsque l'on reprend l'idée d'une autre personne, il me semble qu'il faut le noter, c'est une question de principe.

Françoise
francemarieanna Messages postés 12 Date d'inscription mardi 11 juillet 2006 Statut Membre Dernière intervention 5 décembre 2006
5 déc. 2006 à 05:43
Bonjour David,

Je tiens à te dire que nous avons une boîte de message demandant si nous voulons exécuter le fichier et dans les deux cas :

http://img92.imageshack.us/img92/3964/testindexol4.jpg

http://img143.imageshack.us/img143/3037/docld2.jpg

Merci Bultez pour le renseignement du fichier x.htas
Françoise
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
4 déc. 2006 à 13:57
effectivement .htas sur le web ça baigne !
j'ai appris quelque chose...
il ne faut que respecter les majuscules/minuscules
du nom donné au .htas, pas plus.
s'il se nomme x.htas ou x.HTAS, ou... , ça marche.
Rejoignez-nous