[S] Lancer exécutable depuis page web

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
kardo
Niveau 1
Niveau 1
Messages : 8
Enregistré le : sam. 03 juil. 2010 11:00
Status : Hors ligne

[S] Lancer exécutable depuis page web

#1

Message par kardo »

Bonjour,

je souhaite créer un code autoit qui récupère un lien hypertexte pour lancer un exécutable.

Le lien sera de la forme : <a href="nom du protocole://c:/WINDOWS/notepad.exe">Lancer notepad</a>

Pour cela, on crée un protocole dans la base de registre :
[HKEY_CLASSES_ROOT\nom du protocole]
[HKEY_CLASSES_ROOT\nom du protocole\shell]
[HKEY_CLASSES_ROOT\nom du protocole\shell\open]
[HKEY_CLASSES_ROOT\nom du protocole\shell\open\command]
@=hex(2): donnant le lien vers l'executable qui va faire la liaison entre le lien et l'execution du logiciel "%PROGRAMFILES(X86)%\dossier\fichierautoit.exe" "%1"

Quelqu'un pourrait-il m'aider à y parvenir ?

merci par avance.
Modifié en dernier par kardo le sam. 03 juil. 2010 16:37, modifié 3 fois.
kardo
Niveau 1
Niveau 1
Messages : 8
Enregistré le : sam. 03 juil. 2010 11:00
Status : Hors ligne

Re: [..] Lancer exécutable depuis page web

#2

Message par kardo »

Je pense que le problème réside au niveau du passage de la variable donnée par la page web lors de l'exécution du lien. Quand on paramètre le protocole, en mettant %1 après la déclaration, un batch peut récupérer la variable, autoit peut-il faire de même ?

Sinon, je ne vois pas comment la récupérer.
kardo
Niveau 1
Niveau 1
Messages : 8
Enregistré le : sam. 03 juil. 2010 11:00
Status : Hors ligne

Lancer exécutable depuis page web

#3

Message par kardo »

J'ai résolu mon problème avec ce code

Code : Tout sélectionner

#cs ----------------------------------------------------------------------------

 AutoIt Version : 3.3.6.1
 Auteur:         MonNom

 Fonction du Script :
    Modèle de Script AutoIt.

#ce ----------------------------------------------------------------------------

; Début du script - Ajouter votre code ci-dessous.

; Déclarations Diverses.
#include <GuiConstants.au3>
Dim $passage = $CmdLineRaw
$liend = StringTrimLeft ($passage, 11)
$lieng = StringTrimRight ($liend, 1)
$lien = StringReplace($lieng, "/", "\")
$nom = StringSplit($lien, "\")
$nom = $nom[$nom[0]]
$longueur = StringLen($nom)
$chemin = StringTrimRight($lien, $longueur)
MsgBox(0, "Test de variable", "Le lien est "&$lien&"   Le nom du logiciel est "&$nom&"   Le chemin est "&$chemin)
run($nom, $chemin)
Les critiques sont les bienvenus.

Pour ceux que cela intéresse, je peux mettre la procédure d'installation complète ...
kardo
Niveau 1
Niveau 1
Messages : 8
Enregistré le : sam. 03 juil. 2010 11:00
Status : Hors ligne

Re: [S] Lancer exécutable depuis page web

#4

Message par kardo »

Quelqu'un pourrait-il me dire s'il y a des restrictions au niveau de la forme du chemin de la fonction run ?

car cela ne fonctionne pas avec celui-ci :

run("CaBa.exe", "K:\Te\Xampp\htdocs\d\A\THEME-FOT\CaBa-FormatEXE-5\")

je suis un peu perdu là ...

Bonne journée
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [S] Lancer exécutable depuis page web

#5

Message par Iste »

Le code de run() m'a lair bon, etes-vous sur du second paramètre ?
Signez ici
kardo
Niveau 1
Niveau 1
Messages : 8
Enregistré le : sam. 03 juil. 2010 11:00
Status : Hors ligne

Re: [S] Lancer exécutable depuis page web

#6

Message par kardo »

oui, je suis sur du chemin, c'est un copier/coller de la ligne de l'explorer pour faire un essai. Le fichier exe se trouve sur un disque externe et est composé de caractère alphanum et de -, de _ et d'espace.

Cela ne fonctionne pas même lorsque je fais un essai avec seulement la fonction run.
kardo
Niveau 1
Niveau 1
Messages : 8
Enregistré le : sam. 03 juil. 2010 11:00
Status : Hors ligne

Re: [S] Lancer exécutable depuis page web

#7

Message par kardo »

après plusieurs essai, même avec une ligne du type
run("essai.exe", "c:\") ou ShellExecute("essai.exe", "c:\") rien ne fonctionne.

Le fichier essai.exe est un exécutable issu d'un swf qui fonctionne lorsque je le lance directement depuis l'explorateur.

un run("notepad.exe", "c:\windows\") fonctionne correctement.

Je me demande s'il ne faut pas absolument que le logiciel a exécuté soit déclaré dans la base de registre.
kardo
Niveau 1
Niveau 1
Messages : 8
Enregistré le : sam. 03 juil. 2010 11:00
Status : Hors ligne

Re: [S] Lancer exécutable depuis page web

#8

Message par kardo »

Cela fonctionne avec la fonction shellexecute, erreur dans la synthaxe de la fonction mais ne fonctionne pas avec run.
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [S] Lancer exécutable depuis page web

#9

Message par Iste »

kardo a écrit :Je me demande s'il ne faut pas absolument que le logiciel a exécuté soit déclaré dans la base de registre.
Je m'en suis servi de nombreuses fois pour meme propre exe sans souci

essayez simplement ceci

Code : Tout sélectionner

run("K:\Te\Xampp\htdocs\d\A\THEME-FOT\CaBa-FormatEXE-5\CaBa.exe")
PS merci aussi d'éviter les double post et d'éditer vos messages.
Signez ici
kardo
Niveau 1
Niveau 1
Messages : 8
Enregistré le : sam. 03 juil. 2010 11:00
Status : Hors ligne

Re: [S] Lancer exécutable depuis page web

#10

Message par kardo »

Effectivement cela fonctionne si l'on fait ;

run("chemin complet")

PS : je n'ai pas fait de doublon, seul est posté cette file de ma part.
Répondre