Déclencher une commande DOS

Résolu
francoisch Messages postés 258 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 16 février 2015 - 14 mai 2008 à 18:38
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 6 mars 2009 à 09:54
Bonjour

Je voudrais déclencher une commande DOS depuis du code Javascript pour, par exemple, lancer Word, Messenger, ?

La commande est naturellement exécutée sur le PC qui consulte la page contenant le JS; toute autre solution qu'avec du JS serait aussi bienvenue.

Merci par avance de vos suggestions.

Francois

20 réponses

francoisch Messages postés 258 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 16 février 2015
15 mai 2008 à 19:03
bonjour Bultez et merci de ta réponse plus que complète.

Tu as répondu au delà de ce que j'espérais et ça va m'être très utile.

Merci encore.

Francois
3
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
14 mai 2008 à 18:42
Salut,

Je ne suis pas sur que c'est possible en javascript mais si c'est possible tu devrai te tourné vers les objets ActiveX !

a++

Si t'a besoin d'aide, MP !!!
Un forum...
0
francoisch Messages postés 258 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 16 février 2015
14 mai 2008 à 19:03
bonjour

Je me tournerai bien volontiers dans la direction où se trouvera une solution.

Aurais tu un début de piste pour chercher qqechose en ActiveX? des Forums en particulier.

Merci à toi.

Francois
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
14 mai 2008 à 19:07
non pas particulièrement, peut être une recherche sur google sur les controles ActiveX en javascript par exemple le filesystemobject !!!

a++

Si t'a besoin d'aide, MP !!!
Un forum...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 mai 2008 à 10:08
Bonjour,

>>Je voudrais déclencher une commande DOS depuis du code Javascript
    c'est possible facilement
        new ActiveXObject("WScript.Shell").Exec("cmd /c toutes les commandes DOS possibles").
       je dis facilement, mais pas tant que cal, puisque le DOS n'existe plu depuis XP.
       c'est windows en ligne de commande.

>>pour, par exemple, lancer Word, Messenger, …

    ah ben là... même pas la peine de passer par le DOS....
    pour lancer excell par exemple :


    var ExcelApp = new ActiveXObject("Excel.Application");
    ExcelApp.Application.Visible = true;
    ExcelApp.Workbooks.Open("c:\\yourfile2.xls");

    l'équivalent exsite sur la plupart des produits microsoft au moins

>>toute autre solution qu’avec du JS serait aussi
bienvenue.


    ah bon ?
    pas de js ?
    tu veux faire quoi.... exactement ?

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
francoisch Messages postés 258 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 16 février 2015
15 mai 2008 à 11:46
bonjour


Mon besoin est tres simple: lancer une commande DOS sur le PC de celui qui consulte une page Web.

De manière générale, je veux proposer sur une page des boutons pour aller aussi bien sur le Web que pour lancer des applications locales: Word, ...

En Javascript, ça m'irait très bien; as tu une solution simple?

Par avance merci de ton aide.

Francois
0
francoisch Messages postés 258 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 16 février 2015
15 mai 2008 à 11:52
J'ai trouvé / modifié ça mais ça ne fonctionne pas:
<HEAD>

<script type=

"text/javascript">function lancer(exe) 

{ 

var ws = new ActiveXObject("WScript.Shell");

try 

{ 

ws.run (exe,1,true); 

} 

catch(erreur) 

{

alert(erreur.description);

} 

}

function clair()

{

lancer('"C:\WINDOWS\system32\osk.exe"' );

}

</script>

</HEAD>

Clavier visuel



Une suggestion?

Francois
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 mai 2008 à 12:49
[auteur/FRANCOISCH/384054.aspx
]



>>J'ai trouvé
    c'est aussi une possibilité...
        pas celle que je préfère, mais bon...

    ça ressemble d'ailleurs à l'un de mes exemples

       qui trainent, mais je ne suis pas le seul
       à avoir montré ça...      



>>modifié ça mais ça ne fonctionne pas:
    pas de souci.... enfin avec IE, et si
       on met




lancer("C:\WINDOWS\system32\osk.exe");

  et si osk.exe existe bien là où tu le dis...






sinon essaye lancer("notepad.exe");
tu verras que ça baigne....

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
francoisch Messages postés 258 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 16 février 2015
15 mai 2008 à 14:38
Oui, tu as raison, ça marche avec Notepad (sur notepad.exe ou sur c:/windows/system32/notepad.exe) et ça ne marche pas avec le clavier visuel (osk.exe).

Pourtant, ils sont tous les deux dans le même répertoire Windows/system32, qui est aussi un des 3 Paths définis dans mon PC; comment ça se fait?

Quand j'appelle c:/windows/system32/osk.exe, une boite DOS fugitive me dit que le chemin d'accès spécifié est introuvable; pourtant, j'ai appellé c:/windows/system32/notepad.exe avec succès et osk.exe est bien là aussi.

Est-ce qu'il me manque une information sur le fonctionnement de Cmd, sur le Path?

Comment se fait-il que Notepad soit trouvé et pas un autre programme (osk ou un autre)?

Merci par avance de vos lumières.

Francois
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 mai 2008 à 16:12
je n'avais pas relu mes infos !
    run  fonctionne  uniquement avec le nom d'un éxécutable uniquement si sous un répertoire
                                                            accessible directement
                                                            ( "par path" : windows,mes documents ... )

j'ai déjà mis, mais voici :

<HTML>
<HEAD>
<TITLE>? Lancer un Exécutable ? Décembre 2004 © marcel.Bultez@Tiscali.fr ?</TITLE>
</HEAD>

fichier

nom exécutable
nom exécutable ou fichier ( lancera le programme
                                                            associé, celui utilisé par "Ouvrir avec" )
    nom d'un éxécutable uniquement si sous un répertoire
                                                            accessible directement
                                                            ( "par path" : windows,mes documents ... )
lancer word
           
<script Type="Text/JavaScript"><!--------
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function lancerword(doc) //~~ Lancer une application ~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{    var app_word = new ActiveXObject("Word.Application");
    app_word.Application.Visible = true;
    try                 { app_word.documents.open(doc);    }
    catch(erreur)    {    }
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function lancerclassid(exe) //~~ Active'X ~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{    var p = window.createPopup();
    var b = p.document.body;
    b.innerHTML =  '<OBJECT CLASSID="CLSID:12345678-1234-1234-1234-123456789ABC"' +
                        '        CODEBASE="'+exe+'"></OBJECT>';
}
   
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function lancerstart(exe) //~~ Run ~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{    var w = new ActiveXObject("WScript.Shell");
    w.run ('start "'+exe+'"');
}
/*        w.run ('start "'+exe+'"'); c'est pour windows 98
        w.run ('cmd "'+exe+'"');   c'est pour windows XP    */
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function lancerrun(exe) //~~ Exe ~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{     var w = new ActiveXObject("WScript.Shell");
    try                 {    w.run (exe,1,true); }
    catch(erreur)    {    }
}
//--------></script>
</HTML>

    tu peux regarder aussi : VIP

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
15 mai 2008 à 19:08
Re,

pour remercier bultez il y a le bouton réponse accèpté !

a++

Si t'a besoin d'aide, MP !!!
Un forum...
0
francoisch Messages postés 258 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 16 février 2015
19 mai 2008 à 21:34
bonsoir Bultez

J'ai pu me mettre ce soir à tester ton code du 15 Mai; je tombe sur une erreur: un composant ActiveX ne peut pas créer un objet.


Pour sortir de là, j'ai installé Windows Scripting Host et placé mon site dans les sites de confiance mais ça ne change rien.

Comment faire? Par avance merci de votre aide.

Francois


 
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
20 mai 2008 à 05:54
Bonjour,
    parce que les activeX ne sont pas activés dans Internet Explorer
    ou que tu n'as pas les droits d'utiliser.
    d'ailleurs sur un site, si c'est chez un FAI "normal",
        les ActiveX sont très rarement ( jamais ? )   autorisés.
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
francoisch Messages postés 258 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 16 février 2015
20 mai 2008 à 09:50
OK Bultez mais comment puis je utiliser ton code, du 15 Mai?


Francois


 
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
20 mai 2008 à 10:00
>>comment puis je utiliser ton code,
    comme c'est expliqué/montré dans l'exemple qu'est ce code.
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
francoisch Messages postés 258 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 16 février 2015
20 mai 2008 à 10:09
Oui, j'ai fait un copier / coller complet de ton code dans une page de test et je l'ai exécuté; c'est là que je suis tombé sur l'erreur ActiveX.

J'ai raté qqechose?

Francois
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
20 mai 2008 à 10:38
me citerais-je ?
>>les activeX ne sont pas activés dans Internet Explorer
>> ou tu n'as pas les droits pour utiliser.
>> d'ailleurs sur un site, si c'est chez un FAI "normal",
>> les ActiveX sont très rarement (jamais ?) autorisés.
0
francoisch Messages postés 258 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 16 février 2015
21 mai 2008 à 21:40
Bon, maintenant, puisque les solutions avec ActiveX existent mais ne fonctionnent pas, que reste t il pour déclencher une commande DOS depuis une page Web?

Merci par avance de votre aide.

Francois
0
fiaskou Messages postés 2 Date d'inscription samedi 2 décembre 2000 Statut Membre Dernière intervention 5 mars 2009
5 mars 2009 à 23:03
En suivant ce fil je suis un peu circonspect.....

est-il possible d'exéxuter ce code (en réseau privé) :
A ordi sous linux ,serveur apache2(cgi,perl,php)
B ordi client sous xp (internet explrer 6)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org/TR/html4/loose.dtd ">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans nom</title>
</head>

<script type="text/javascript">
function toto()
{
   var w = new ActiveXObject("WScript.Shell");
   w.run ('cmd /c explorer');
 }
</script>
[javascript:void(toto()); titi]

</html>

Le but de ce script étant de lancer simplement l'explorer d'xp!

source :http://www.javascriptfr.com/forum/sujet-EXECUTER-LIGNE-COMMANDE-DOS_795415.aspx
<strike>
</strike>Chez moi ca ne marche pas....

1)il manque un truc au niveau du serveur...javascript??
2)au niveau du client??(j'ai autorisé tout ce qui est activex sur IE6)
3)j'insiste su le fait que je suis en réseau privé..donc rien ne passe par le FAI
4)ou j'y comprend vraiment rien!!
<strike></strike>
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
6 mars 2009 à 09:54
t'as remarqué que le message datait de plus de 9 mois ?
t'as du bol que je repasse ici !

c'est spécifique windows.   avec linux ça ne fonctionnera pas.
mais si tu ne veux que lancer l'explorateur : [file://c:\ lien]

Cordialement [mon Site] [M'écrire] Bul
0
Rejoignez-nous