[R] Executer un .exe dans une page WEB

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Doom
Niveau 1
Niveau 1
Messages : 2
Enregistré le : mar. 26 juin 2012 22:02
Status : Hors ligne

[R] Executer un .exe dans une page WEB

#1

Message par Doom »

Bonjour,

Je débute avec Auto IT
J'aurai aimé exécuter un fichier Exe à partir d'un site web mais il me demande toujours de l'exécuter
Exemple :
$oIE = _IECreate ("Lien Site")
_IENavigate ($oIE, "Lien site ?download=300:Executable")


J’aurai voulu qu'il l’exécute tout de suite sans devoir appuyer sur exécuter

Merci d'avance pour l'aide que vous pouvez m'apporter
Modifié en dernier par Doom le mar. 07 janv. 2014 23:34, modifié 1 fois.
Avatar du membre
GhostLine
Niveau 7
Niveau 7
Messages : 342
Enregistré le : jeu. 12 mars 2009 15:28
Localisation : Paris
Status : Hors ligne

Re: Executer un .exe dans une page WEB

#2

Message par GhostLine »

J'en doute, ne serait-ce que pour des raisons de sécurité ! Imagine si on pouvait exécuter un exe sur ton PC au hasard du détour d'une page, sans que tu sois au courant, et qu'on installe sur ta machine un trojan/sniffer/virus (etc.) !
lesolutionneur
Niveau 7
Niveau 7
Messages : 368
Enregistré le : ven. 09 déc. 2011 11:25
Status : Hors ligne

Re: Executer un .exe dans une page WEB

#3

Message par lesolutionneur »

Dans ton cas, il vaudrait mieux télécharger le fichier à l'aide de la fonction InetGet (par exemple dans @TempDir) puis l'exécuter à l'aide de Run ou Runwait (si tu souhaites patienter jusqu'à la fermeture du programme).

Si je me souviens bien des arguments acceptés par ces fonctions, voici un exemple d'utilisation :

Code : Tout sélectionner

; On prépare l'endroit où le fichier sera placé (dans le dossier Temp)
$chemin_du_fichier = @TempDir & "\fichier.exe"
; On télécharge l'exécutable
InetGet("http://tonsi.te/le/chemin/du/fichier.exe", $chemin_du_fichier)
; On le lance et on patiente jusqu'à sa fermeture
RunWait($chemin_du_fichier)
; On le supprime pour éviter de polluer le dossier Temp
FileDelete($chemin_du_fichier)
 
Sache que Internet Explorer télécharge toujours un fichier avant de l'exécuter, ma façon agit donc rigoureusement de la même manière.
Modifié en dernier par Tlem le mar. 07 janv. 2014 20:59, modifié 1 fois.
Raison : Suppression de la coloration
Doom
Niveau 1
Niveau 1
Messages : 2
Enregistré le : mar. 26 juin 2012 22:02
Status : Hors ligne

Re: Executer un .exe dans une page WEB

#4

Message par Doom »

Merci lesolutionneur

Cela fonctionne mais il l’a fallu un peut modifier
Voici comment :

; On prépare l'endroit où le fichier sera placé (dans le dossier Temp)
$chemin_du_fichier = @TempDir & "\fichier.exe"
; On télécharge l'exécutable
InetGet("http://tonsi.te/le/chemin?download=300:fichier", $chemin_du_fichier)
; On le lance et on patiente jusqu'à sa fermeture
RunWait($chemin_du_fichier)
; On le supprime pour éviter de polluer le dossier Temp
FileDelete($chemin_du_fichier)

un grand merci a tous
lesolutionneur
Niveau 7
Niveau 7
Messages : 368
Enregistré le : ven. 09 déc. 2011 11:25
Status : Hors ligne

Re: Executer un .exe dans une page WEB

#5

Message par lesolutionneur »

Évidemment, ne connaissant le lien, j'ai mis un URL bidon.
Il faut que tu remplaces cet URL par celui qui te convient.

Édit : au fait, passe ton sujet en résolu. Pour cela, il faut que tu ajoutes "[R] " au début de ton titre.
Lucky5699
Niveau 1
Niveau 1
Messages : 3
Enregistré le : jeu. 29 juin 2017 13:37
Status : Hors ligne

Re: [R] Executer un .exe dans une page WEB

#6

Message par Lucky5699 »

Bonjour,

Pour la mise en place d'un intranet qui devait comporter des liens vers les .exe, j'ai également été confronté à ce problème.
Je vous fais profiter des résultats de ma recherche et vous propose une autre solution.

Avantage, une utilisation minimale du processeur et de la mémoire et aucun paramétrage sur les navigateurs (donc pas de diminution de la sécurité)
Inconvénient : un des scripts doit être lancé en permanence.

1 Créer une page web lancementappli.html accessible sur votre intranet contenant au moins cet élément : <title>lancementmonappli1234</title>

2 Sur votre page intranet qui doit lancer l'appli .exe, faire un lien vers la page créée (lancementappli.html)

3 Sur vos postes qui doivent lancer l'appli, mettre au démarrage en auto le script suivant :

lancementappli1.exe :

Code : Tout sélectionner

Opt("WinTitleMatchMode", -2)
$1 = 0
		 Do
			If ProcessExists ("Monappli.exe") Then

			Else
			If WinExists ("lancementmonappli1234") Then
			$1 = 1
			send ( "^w" ) ;appuie sur CTRL + W( Fermer onglet navigateur )
			Run ("x:\chemin\Monappli.exe" )
			Else
			$1 =0
			EndIf
			Sleep (500)
			EndIf
		 Until ($1=1)

Run ("C:\autostart\lancementappli2.exe")
lancementappli2.exe

Code : Tout sélectionner

Opt("WinTitleMatchMode", -2)
$1 = 0
		 Do
			If ProcessExists ("Monappli.exe") Then

			Else
			If WinExists ("lancementmonappli1234") Then
			$1 = 1
			send ( "^w" ) ;appuie sur CTRL + W( Fermer onglet navigateur )
			Run ("x:\chemin\Monappli.exe" )
			Else
			$1 =0
			EndIf
			Sleep (500)
			EndIf
		 Until ($1=1)

Run ("C:\autostart\lancementappli1.exe")
J''utilise deux scripts pour ne pas utiliser le processeur avec une boucle.
Si vous avez une solution pour ne pas utiliser le processeur avec un seul script, je suis preneur.

Un grand merci à vous qui m'avez mis sur la piste de cette solution.
Répondre