IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

En javascript peux-t-on lancer un programme en local


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 109
    Points : 48
    Points
    48
    Par défaut En javascript peux-t-on lancer un programme en local
    Bonjour,

    Je possède un programme (écrit en c#) sous forme de exe ou dll. J'aimerais l'executer sur le poste client en le lancant depuis le navigateur.

    Est-il possible de le lancer en local depuis un script javascript

    Merci de vos réponse

  2. #2
    Invité
    Invité(e)
    Par défaut


    cela aurait des consequences catastrophiques sur la securité... je ne suis meme pas sur que Microsoft et ses ActiveX autorisent ça, alors qu'en matiere de failles ils sont plutot champions...

    non on ne peut decemment pas faire une chose pareille... peut-etre en VBScript, mais je ne suis meme pas sur... et surtout j'espere pas...

  3. #3
    bul
    bul est déconnecté
    Membre habitué Avatar de bul
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 193
    Points : 133
    Points
    133
    Par défaut
    bonjour,
    avec Javascript sous Windows + Internet Explorer
    on peut "TOUT" faire ( quitte à développer son ActiveX ).
    j'ai une petite explication sur comment créer
    une dll ActiveX [ en VB mais ce n'est pas important,
    aussi simple à faire en C++ je suppose ]
    et y faire appel en J[ava]Script.
    http://marcel-bultez.chez.tiscali.fr/documents/JS_DLL.htm
    ne pas cliquer sur le lien, faire un copié/collé
    vers la barre d'adresse.
    @+

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 109
    Points : 48
    Points
    48
    Par défaut
    Super ,
    Merci de ta réponse qui me convient. On m'a fourni tout un paquet et je peux
    - visualiser le projet c# que je peux visualiser à l'aide de SharpDevelop.
    - avoir le .exe
    - avoir une dll

    Je suis assez étranger au monde microsoft .
    Comment faire pour avoir le CLSID ? C-a-d dans ton exemple comme faire pour avoir ma valeur "MessageBeep.ClsMessageBeep" du
    ActiveXObject("MessageBeep.ClsMessageBeep");

    J'ai mis ma dll dans system32 et fait un regedit je ne la trouve pas.
    J'ai un doute car le fournisseur m'a dit qu'en renommant le .exe en .dll ca marche !

    A bientôt

    NB : Oui je sais c'est pas très propre mais le big boss veux absolument avoir ce lancement depuis le browser.

  5. #5
    bul
    bul est déconnecté
    Membre habitué Avatar de bul
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 193
    Points : 133
    Points
    133
    Par défaut
    dans les explications :

    °Nommer ce projet "MessageBeep"
    °Nommer le module de classe "ClsMessageBeep"
    faire la même chose donc en C++,
    °avec VB la compilation fait ce qu'il faut au niveau de Windows,
    pour que cette DLL soit connue du système.
    sinon il faudrait utiliser Regsvr32.

    on peut aussi, directement, lancer un exécutable.

    @+

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 109
    Points : 48
    Points
    48
    Par défaut
    Merci de ta réponse,

    Je vais essayer d'installer VB sur mon poste pour faire la manipulation.

    Un "Regsvr32 monProgramme" m'informe que monProgramme.dll n'apparait pas comme étant un fichier .dll.

    on peut aussi, directement, lancer un exécutable.
    Ca serait mieux cela , quel sont les fucntion vsript ou javascript le permettant ?

  7. #7
    bul
    bul est déconnecté
    Membre habitué Avatar de bul
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 193
    Points : 133
    Points
    133
    Par défaut
    je dois avoir ça quelque part...
    mais voici quelques possibilités :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    <HTML>
    <HEAD>
    <TITLE> Lancer un Exécutable  Décembre 2004 © marcel.Bultez@Tiscali.fr </TITLE>
    </HEAD>
    <BODY	style="overflow:hidden"><b><pre>
    fichier <input	type="file" 
    		name="fic" 
    		size=50/><br/>
    <input	value="avec classid"
    	type="button"
    	onclick='lancerclassid(fic.value);'/> nom exécutable
    <input	value="avec start"
    	type="button"
    	onclick='lancerstart(fic.value);'/> nom exécutable ou fichier ( lancera le programme
    	    associé, celui utilisé par "Ouvrir avec" )
    <input	value="avec run"
    	type="button"
    	onclick='lancerrun(fic.value);'/> nom d'un éxécutable uniquement si sous un répertoire 
    	    accessible directement
    	    ( "par path" : windows,mes documents ... )
    <input	value="avec word (si *.doc,*.rtf,*.txt... ?)"
    	type="button"
    	onclick="lancerword(fic.value);"/> lancer word
    <script Type="Text/JavaScript"><!--------
    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    function lancerword(doc)	//~~ Lancer une application ~~
    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    {	var app_word = new ActiveXObject("Word.Application");
      // on ferait "de même" avec Excell, Internet, PowerPoint...
    	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+'"'); }
    // #### start c'est pour windows 98
    // #### cmd                 windows XP
    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    function lancerrun(exe)	//~~ Exe ~~
    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    {	var w = new ActiveXObject("WScript.Shell");
    	try { w.run (exe,1,true); } 
    	catch (erreur) {}}
    //--------></script>
    </BODY></HTML>
    @+

  8. #8
    bul
    bul est déconnecté
    Membre habitué Avatar de bul
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 193
    Points : 133
    Points
    133
    Par défaut
    Un "Regsvr32 monProgramme" m'informe que monProgramme.dll n'apparait pas comme étant un fichier .dll
    je n'ai pas répondu....
    ce n'est pas en renommant un .exe en .dll
    que l'on crée un .dll, c'est en choisissant cette
    option lors de la compilation/création du source.
    @+

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 109
    Points : 48
    Points
    48
    Par défaut
    Voici la solution que j'ai adopté :

    new ActiveXObject("Shell.Application").ShellExecute('c:/monprog.exe');


    Et ca marche en enlevant quelques restritions du browser

Discussions similaires

  1. Lancer un programme en local
    Par Casmer dans le forum Windows
    Réponses: 11
    Dernier message: 19/02/2015, 12h41
  2. Lancer un programme Java sur le serveur en JavaScript ou PHP
    Par rimhamdi dans le forum Général Conception Web
    Réponses: 9
    Dernier message: 15/07/2010, 08h07
  3. Lancer un programme en local
    Par BRUNOROB dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 21/03/2007, 17h59
  4. Lancer un programme, mais sur une autre machine
    Par GOUGOU1 dans le forum Réseau
    Réponses: 12
    Dernier message: 08/12/2002, 20h36
  5. Réponses: 8
    Dernier message: 05/06/2002, 11h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo