Page 1 sur 1

[R] Executer un .exe dans une page WEB

Posté : lun. 06 janv. 2014 01:56
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

Re: Executer un .exe dans une page WEB

Posté : lun. 06 janv. 2014 09:50
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.) !

Re: Executer un .exe dans une page WEB

Posté : lun. 06 janv. 2014 20:16
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.

Re: Executer un .exe dans une page WEB

Posté : lun. 06 janv. 2014 21:12
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

Re: Executer un .exe dans une page WEB

Posté : mar. 07 janv. 2014 13:22
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.

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

Posté : jeu. 29 juin 2017 14:03
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.