Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

OUVRIR UN HTA A PARTIR D'UN AUTRE HTA SANS MESSAGE (EXECUTER OU ENREGISTRER) + PASSAGE DE PARAMETRE ET DE VARIABLE


Information sur la source

Catégorie :Navigation Classé sous : hta, parametre, variable, passer, recuperer Niveau : Débutant Date de création : 30/11/2006 Date de mise à jour : 05/12/2006 16:59:46 Vu / téléchargé: 6 529 / 669

Note :
Aucune note

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

Description

C'est dans le titre:

Ouvrir un fichier HTA a partir d'un fichier autre HTA,
sans que windows demande si il faut l'executer ou l'enregistrer.
+
Passer un parametre
+
recupere la variable

J'ai cherché longtemps sur le web une possibilité pour faire ceci.
N'ayant pas trouvé, j'ai pondu ce code.
Regardé le zip pour les explications

P.S: desole il y a un peu de VB pour contourner le probleme de l'alerte windows
 

Conclusion

P.S: ceci a été testé en local.
Il semblerait qu'il faut renommer le doc.hta en doc.HTAs
pour que ca fonctionne sur le web (rescepter les majuscule/minuscule de l'extention)

Merci de confirmer pour fonctionnement sur le web
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • doc.htaTélécharger ce fichier [Réservé aux membres club]2 167 octets
  • Testindex.htaTélécharger ce fichier [Réservé aux membres club]706 octets

Télécharger le zip

Historique

05 décembre 2006 16:59:46 :
Eviter le plantage si on lance le fichier doc dirrectement. Cf post de francemarieanna

Commentaires et avis

signaler à un administrateur
Commentaire de bultez le 04/12/2006 13:57:39

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.

signaler à un administrateur
Commentaire de francemarieanna le 05/12/2006 05:43:19

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

signaler à un administrateur
Commentaire de francemarieanna le 05/12/2006 05:50:18

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

signaler à un administrateur
Commentaire de francemarieanna le 05/12/2006 06:24:36

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







signaler à un administrateur
Commentaire de bricomaniac le 05/12/2006 12:36:24

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.

signaler à un administrateur
Commentaire de David78390 le 05/12/2006 16:56:12




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.

signaler à un administrateur
Commentaire de David78390 le 05/12/2006 17:03:42

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.

signaler à un administrateur
Commentaire de NEO III le 07/12/2006 12:57:22

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

signaler à un administrateur
Commentaire de David78390 le 11/12/2006 09:34:59

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.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Passer une valeur variable... [ par Grand Mamamouchi ] Bonjour !Je voudrais faire en sorte qu'un objet de mon document change de couleur en fonction du scrollage.Voila la partie du script sur laquelle je b solution passer variable js en variable php directement [ par fjx ] Passage de variable javascript en variable php :Exemple pour une taille d'écran.&lt;?php ob_start(); ?&gt;&lt;script language="JavaScript1.2"&gt;docum recuperer le choix d'une reponse [ par fab101 ] Bonjour a tout et a toute voila j'ai un problème de recuperation de variable. je m'explique j'ai un outils de modelisation de workflow qui genere des passer une variable de session arrghhhh [ par stekache ] bonjour à vous.je cherche à faire passer une variable de session ecrite dans le global asa par l'intermédiaire d'une fonction js ci dessous:{window.lo parametre d'url [ par aze555666 ] sltmon but est de passer un parametre en url, mais un seul, et de l'utiliser en javascript, sachant que je ne peux pas passer par php (c pr un cd de t variable [ par benjiman2 ] Bonjour !voila , je voudrais recuperer la valeur d'un champs d'un formulaire &#224; partir d'une iframe :Exemple :Page.php :&lt;form name=form&gt;&lt; Recuperer une variable d'un popup [ par orsam ] Bonjour &#224; tous !Je suis en train de m'arracher les cheveux depuis quelques jours avec ce probleme...J'explique le souci !J'aimerais avoir une pag recuperer variable d'un popup [ par dudulebzh35 ] bonjour a tous,j'ai quelques problemes avec une variable d'un popup. je m'explique.j'ai une page principale, "index.php".dans cette page j'ai une imag recuperer variable php [ par miss07 ] Salut, J'ai un petit probleme je ne sais pas comment je pourrais recuperer la valeur d'une variable. C'est &#224; dire je fais une requete et le resul Passage d'une variable à un fichier HTA [ par guict2000 ] Bonjour, je suis d&#233;butant en la mati&#232;re et je bute sur un probl&#232;me.Je d&#233;sire passer une variable &#224; un fichier hta et cela ne


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,421 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.