Page 1 sur 1
[S] Lancer exécutable depuis page web
Posté : sam. 03 juil. 2010 11:22
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.
Re: [..] Lancer exécutable depuis page web
Posté : sam. 03 juil. 2010 12:10
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.
Lancer exécutable depuis page web
Posté : sam. 03 juil. 2010 16:27
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 ...
Re: [S] Lancer exécutable depuis page web
Posté : sam. 03 juil. 2010 16:39
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
Re: [S] Lancer exécutable depuis page web
Posté : sam. 03 juil. 2010 17:02
par Iste
Le code de run() m'a lair bon, etes-vous sur du second paramètre ?
Re: [S] Lancer exécutable depuis page web
Posté : sam. 03 juil. 2010 23:33
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.
Re: [S] Lancer exécutable depuis page web
Posté : sam. 03 juil. 2010 23:46
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.
Re: [S] Lancer exécutable depuis page web
Posté : dim. 04 juil. 2010 00:21
par kardo
Cela fonctionne avec la fonction shellexecute, erreur dans la synthaxe de la fonction mais ne fonctionne pas avec run.
Re: [S] Lancer exécutable depuis page web
Posté : dim. 04 juil. 2010 10:45
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.
Re: [S] Lancer exécutable depuis page web
Posté : dim. 04 juil. 2010 11:45
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.