Je cherhe à éxecuter une application éxecutable en utilisant electron js sur une page html

20 réponses


quenti77
Réponse acceptée

Hello, tu aurai pu retirer les éléments du template :)

Dijasako
Auteur

Hello, je n'ai pas compris. De quel template parlez-vous?

Il doit vouloir parler du template de ton post que tu as laissé:


Décrivez ici votre problème ou ce que vous cherchez à faire.

Entourez votre code en utilisant "```" pour bien le mettre en forme. (ne copiez pas trop de code)

Ce que je veux

Décrivez ce que vous cherchez à obtenir.

Décrivez vos éventuelles erreurs ou ce que vous obtenez à la place de ce que vous attendez :(

En gros tout ça, c'est sympa l'initiative de Grafikart de mettre un template mais bon ça cache juste le message dans un pavé donc personne ne l'utilise ^^'

Pour ton problème, alors il suffit de lancer electron . depuis la racine du projet

Ouu si tu n'as pas installé le client electron tu peux ajouter electron en script node, ajoutes ça dans packages.json:

"scripts": {
    "start": "electron ."
  }

Et tu lances la commande npm run start ou yarn start

Et c'est lancé :)

Dijasako
Auteur

Ah d'accord, merci pour cette reponse mais j'ai l'impression de mettre mal exprimée. J'ai codé un interface graphique pour le contrôle d'un sous-marin et j'ai un radar a une application. Et c'est cette application exe que je veux afficher sur mon interface.

Dijasako
Auteur

Déja essayer mais ça n'a rien donné malheureusement.

ah :/
Et tu a quoi en log? quand tu essayes?

Dijasako
Auteur

Rien le résultat n'affiche rien.

Mmmh si il n'y a même pas d'erreur dans la console c'est que l'appli exe n'essayes même pas de se lancer :X

Fait voir la partie de ton code qui doit lancer le exe?

Dijasako
Auteur

Je cherche à partager les captures mais je ne vois pas comment publier ici.

ah pas besoin tu copies colles le code en texte ^^

Dijasako
Auteur

Le premier code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>

</head>
<body>
<a href="C:\Users\sakok\Downloads\pingviewer-Release\pingviewer.exe">lllll
<script>

           var oShell = new ActiveXObject("Shell.Application");
           var commandtoRun = "C:\\Windows\\pingviewer.exe"; 
           oShell.ShellExecute(commandtoRun,"","","open","1");
    </script>

</body>
</html>

Dijasako
Auteur

ça c'est en utilisant le HTA
<html>
<head>
<title>Application Executer</title>
<HTA:APPLICATION ID="oMyApp"
APPLICATIONNAME="Application Executer"
BORDER="no"
CAPTION="no"
SHOWINTASKBAR="yes"
SINGLEINSTANCE="yes"
SYSMENU="yes"
SCROLL="no"
WINDOWSTATE="normal">
<script type="text/javascript" language="javascript">
function RunFile() {
WshShell = new ActiveXObject("WScript.Shell");
WshShell.Run("c:/windows/pingviewer.exe", 1, false);
}
</script>
</head>
<body>
<input type="button" value="Run Notepad" onclick="RunFile();"/>
</body>
</html>

Dijasako
Auteur

Le lien que vous avez envoyé je l'ai fait sur une raspberry donc pas accès au code actuellement.

Ok top, bon déjà je vais reposter ton code en propre x)

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>

</head>
<body>
    <a href="C:\Users\sakok\Downloads\pingviewer-Release\pingviewer.exe">lllll

    <script>
           var oShell = new ActiveXObject("Shell.Application");
           var commandtoRun = "C:\\Windows\\pingviewer.exe"; 
           oShell.ShellExecute(commandtoRun,"","","open","1");
    </script>
</body>
</html>
<html>
    <head>
        <title>Application Executer</title>
        <HTA:APPLICATION ID="oMyApp"
        APPLICATIONNAME="Application Executer"
        BORDER="no"
        CAPTION="no"
        SHOWINTASKBAR="yes"
        SINGLEINSTANCE="yes"
        SYSMENU="yes"
        SCROLL="no"
        WINDOWSTATE="normal">
        <script type="text/javascript" language="javascript">
        function RunFile() {
            WshShell = new ActiveXObject("WScript.Shell");
            WshShell.Run("c:/windows/pingviewer.exe", 1, false);
        }
        </script>
    </head>

    <body>
        <input type="button" value="Run Notepad" onclick="RunFile();"/>
    </body>
</html>

Ok ay alors dans ton premier code, tu as deux paths:

  • C:\Users\sakok\Downloads\pingviewer-Release\pingviewer.exe
  • C:\Windows\pingviewer.exe

Ton exe se trouve dans quel path?

Ensuite dans ton deuxieme code vérifies que la function soit bien lancée dans écrivant un truc dans la console:

function RunFile() {
    console.log('hello') // ça devrait afficher "hello" dans la console qui la function se lance bien
    WshShell = new ActiveXObject("WScript.Shell");
    WshShell.Run("c:/windows/pingviewer.exe", 1, false);
}
Dijasako
Auteur

Bonjour, désolée du retard. Les deux path sont valables mais je mets en commentiare l'un pour l'utiliser l'autre.
Pour le deuxième point je vais vérifier.

Dijasako
Auteur

Pour le deuxième la fonction ne match pas

Dijasako
Auteur

I have no problem with electron js, but I am looking for a solution to run an exe application with electron

Mmmh bizarre, faudrait peut être essayer de lancer manuellement le RunFile voir si ça donne une message dans la console log :/

<html>
    <head>
        <title>Application Executer</title>
        <HTA:APPLICATION ID="oMyApp"
        APPLICATIONNAME="Application Executer"
        BORDER="no"
        CAPTION="no"
        SHOWINTASKBAR="yes"
        SINGLEINSTANCE="yes"
        SYSMENU="yes"
        SCROLL="no"
        WINDOWSTATE="normal">
        <script type="text/javascript" language="javascript">
        function RunFile() {
            WshShell = new ActiveXObject("WScript.Shell");
            WshShell.Run("c:/windows/pingviewer.exe", 1, false);
        }

        RunFile(); // On lance la function direct juste pour voir si ça envoie bien un log (ou encore mieux si ça lance l'export)
        </script>
    </head>

    <body>
        <input type="button" value="Run Notepad" onclick="RunFile();"/>
    </body>
</html>