OVH Cloud OVH Cloud

lancer "simplement" çà : file:///d:/un_programme.exe çà marche pô . ...

6 réponses
Avatar
Alfred Wallace
Bonjour,

sur mon intranet, dans une page, j'ai des
liens qui pointent vers des programmes...

<a href="mon_programme.exe">bidule</a>


biensur, le navigateur s'empresse de me demander
si je veux "ouvrir" oubien "enregistrer" ....


Bref... "çà casse le rythme" ....

Plus sérieusement, je sais qu'il s'agit d'un pb de sécurité, et
qu'il est normal de ne pas lancer "automatiquement" un exe sans l'accord
de l'utilisateur....

Mais, dans mon cas, je suis dans un intranet, et, les applications
sont connues, et en théorie non contaminées par des virus....

En plus, mon chef ne me croit pas lorsque je lui explique que c'est
pas possible, et qu'il crée une faille de sécurité...

bref... je cherche à lancer un executable "en un seul click" !

Merci de votre aide.

José

6 réponses

Avatar
Jibé
De mémoire c'est possible de mettre ça en place avec des activeX et IE
Cherche de ce côté là!

Jibé
sur mon intranet, dans une page, j'ai des
liens qui pointent vers des programmes...

<a href="mon_programme.exe">bidule</a>


biensur, le navigateur s'empresse de me demander
si je veux "ouvrir" oubien "enregistrer" ....


Plus sérieusement, je sais qu'il s'agit d'un pb de sécurité, et
qu'il est normal de ne pas lancer "automatiquement" un exe sans l'accord
de l'utilisateur....

Mais, dans mon cas, je suis dans un intranet, et, les applications
sont connues, et en théorie non contaminées par des virus....

En plus, mon chef ne me croit pas lorsque je lui explique que c'est
pas possible, et qu'il crée une faille de sécurité...
Faut lui payer un ou deux bouquins ou une formation ;)


bref... je cherche à lancer un executable "en un seul click" !

Merci de votre aide.

José


Avatar
O.L.
De mémoire c'est possible de mettre ça en place avec des activeX et IE
Cherche de ce côté là!

Jibé


Normalement ça devrait être quelque chose comme ça je crois :

new ActiveXObject("WScript.Shell").Run("notepad.exe", false);

Mais quand je teste chez moi ça me met une erreur, peut être une config
un peu sévère (niveau sécurité) de mon IE ?

--
Olivier Ligny
Créateur web free-lance / www.cyber-tamtam.net

Avatar
Alfred Wallace
De mémoire c'est possible de mettre ça en place avec des activeX et IE
Cherche de ce côté là!

Jibé



Normalement ça devrait être quelque chose comme ça je crois :

new ActiveXObject("WScript.Shell").Run("notepad.exe", false);

Mais quand je teste chez moi ça me met une erreur, peut être une config
un peu sévère (niveau sécurité) de mon IE ?

Bonjour O.L.


peux-tu préciser la syntaxe de ta ligne ?


est-ce, par exemple :


<script type="text/javascript">
new ActiveXObject("WScript.Shell").Run("notepad.exe", false);
</script>

Peux tu m'en dire plus sur la façon d'écrire celà ?

Merci

josé


Avatar
Bul
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML Lang="fr">
<HEAD>
<meta http-equiv="content-Language"
content="fr-FR">
<meta http-equiv="content-type"
content="text/html; charset=ISO-8859-1">
<!--÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷-->
<TITLE>° Lancer un Exécutable °</TITLE>
<!--÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷-÷÷÷÷÷÷÷÷÷÷÷÷÷÷-->
<style type="text/css">
body,button,input,select,table,td,th
{ font-family:Comic sans MS;
color:#004040;
font-size:11px;
font-weight:bold; }
body { overflow:auto; }
button { border:1px solid #FF6A22;
background-color:#FFCC99;
cursor:pointer; }
</style>
<script Type="Text/JavaScript"><!--------
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function lancernotepad(txt) //~~ lancer une application : notepad ~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
var objShell = new ActiveXObject("Shell.Application");
objShell.ShellExecute("Notepad",txt ,"" , "open", 1);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function lancerword(doc) //~~ Lancer une application : word ~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
var app_word = new ActiveXObject("Word.Application");
app_word.Application.Visible = true;
try {
app_word.documents.open(doc);
}
catch (erreur) {
alert(erreur.description);
}
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function lancerclassid(exe) //~~ Active'X ~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
var p = window.createPopup();
var b = p.document.body;
b.innerHTML = '<OBJECT CLASSID="CLSID:12345678-1234-1234-1234-123456789ABC"' +
' CODEBASE="'+exe+'"></OBJECT>';
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function lancerstart(exe) //~~ Run ~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
var w = new ActiveXObject("WScript.Shell");
//w.run ('start "'+exe+'"'); // pour windows 98
w.run ('cmd /c "'+exe+'"'); // pour windows XP
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function lancerrun(exe) //~~ Exe ~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
var w = new ActiveXObject("WScript.Shell");
try {
w.run (exe,1,true);
}
catch(erreur) {
alert(erreur.description);
}
}
//--------></script>
</HEAD>
<BODY><b>
<!--÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷-->
<form name="frm"
style="display:none">
<input type="file"
name="rch"
onchange="fic.value=this.value;" />
<input type="reset"
name="clr" />
</form>
<!--÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷-->
<table rules="rows"
cellpadding=2
cellspacing=2>
<!--÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷-->
<tr><td style="text-align:right">Fichier </td>
<td><input type="text"
style="border:1px solid #FFCC99;background-color:#D9FFFF;"
name="fic"
dir="rtl"
sized/>&nbsp;
<button onclick=" frm.clr.click();
fic.value='';
frm.rch.click();">Rechercher...</button></td></tr>
<!--÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷-->
<tr><td>nom d'un <u>exécutable</u><br />
doit être sous un répertoire accessible<br />directement ( windows,mes documents ... )</td>
<td style="text-align:right">
<button onclick='lancerclassid(fic.value);'>classid</button></td></tr>
<!--÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷-->
<tr><td>nom d'un exécutable ou d'un <u>fichier</u><br />( lancera le programme associé,<br />
celui utilisé par "Ouvrir avec" )</td>
<td style="text-align:right">
<button onclick='lancerstart(fic.value);'>cmd /c ou start</button></td></tr>
<!--÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷-->
<tr><td>nom d'un <u>éxécutable</u><br />
doit être sous un répertoire accessible<br />directement ( windows,mes documents ... )</td>
<td style="text-align:right">
<button onclick='lancerrun(fic.value);'>run</button></td></tr>
<!--÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷-->
<tr><td><u>word</u></td>
<td style="text-align:right">
<button onclick="lancerword(fic.value);">word.application (si *.doc,*.rtf,*.txt... ?)</button></td></tr>
<!--÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷-->
<tr><td><u>NotePad</u></td>
<td style="text-align:right">
<button onclick="lancernotepad(fic.value);">Shell.application (si *.txt... ?)</button></td></tr>
<!--÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷-->
</table>
</BODY></HTML>


pour éviter les messages d'avertissement relatifs aux Active'X,
si on est en local, renommer la page.htm en page.hta.

@+
Avatar
Alfred Wallace
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML Lang="fr">
<HEAD>
<meta http-equiv="content-Language"
content="fr-FR">
<meta http-equiv="content-type"
content="text/html; charset=ISO-8859-1">
<!--÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷-->
<TITLE>° Lancer un Exécutable °</TITLE>
<!--÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷-÷÷÷÷÷÷÷÷÷÷÷÷÷÷-->
<style type="text/css">
body,button,input,select,table,td,th
{ font-family:Comic sans MS;
color:#004040;
font-size:11px;
font-weight:bold; }
body { overflow:auto; }
button { border:1px solid #FF6A22;
background-color:#FFCC99;
cursor:pointer; }
</style>
<script Type="Text/JavaScript"><!--------
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function lancernotepad(txt) //~~ lancer une application : notepad ~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
var objShell = new ActiveXObject("Shell.Application");
objShell.ShellExecute("Notepad",txt ,"" , "open", 1);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function lancerword(doc) //~~ Lancer une application : word ~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
var app_word = new ActiveXObject("Word.Application");
app_word.Application.Visible = true;
try {
app_word.documents.open(doc);
}
catch (erreur) {
alert(erreur.description);
}
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function lancerclassid(exe) //~~ Active'X ~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
var p = window.createPopup();
var b = p.document.body;
b.innerHTML = '<OBJECT CLASSID="CLSID:12345678-1234-1234-1234-123456789ABC"' +
' CODEBASE="'+exe+'"></OBJECT>';
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function lancerstart(exe) //~~ Run ~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
var w = new ActiveXObject("WScript.Shell");
//w.run ('start "'+exe+'"'); // pour windows 98
w.run ('cmd /c "'+exe+'"'); // pour windows XP
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function lancerrun(exe) //~~ Exe ~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
var w = new ActiveXObject("WScript.Shell");
try {
w.run (exe,1,true);
}
catch(erreur) {
alert(erreur.description);
}
}
//--------></script>
</HEAD>
<BODY><b>
<!--÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷-->
<form name="frm"
style="display:none">
<input type="file"
name="rch"
onchange="fic.value=this.value;" />
<input type="reset"
name="clr" />
</form>
<!--÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷-->
<table rules="rows"
cellpadding=2
cellspacing=2>
<!--÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷-->
<tr><td style="text-align:right">Fichier </td>
<td><input type="text"
style="border:1px solid #FFCC99;background-color:#D9FFFF;"
name="fic"
dir="rtl"
sized/>&nbsp;
<button onclick=" frm.clr.click();
fic.value='';
frm.rch.click();">Rechercher...</button></td></tr>
<!--÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷-->
<tr><td>nom d'un <u>exécutable</u><br />
doit être sous un répertoire accessible<br />directement ( windows,mes documents ... )</td>
<td style="text-align:right">
<button onclick='lancerclassid(fic.value);'>classid</button></td></tr>
<!--÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷-->
<tr><td>nom d'un exécutable ou d'un <u>fichier</u><br />( lancera le programme associé,<br />
celui utilisé par "Ouvrir avec" )</td>
<td style="text-align:right">
<button onclick='lancerstart(fic.value);'>cmd /c ou start</button></td></tr>
<!--÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷-->
<tr><td>nom d'un <u>éxécutable</u><br />
doit être sous un répertoire accessible<br />directement ( windows,mes documents ... )</td>
<td style="text-align:right">
<button onclick='lancerrun(fic.value);'>run</button></td></tr>
<!--÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷-->
<tr><td><u>word</u></td>
<td style="text-align:right">
<button onclick="lancerword(fic.value);">word.application (si *.doc,*.rtf,*.txt... ?)</button></td></tr>
<!--÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷-->
<tr><td><u>NotePad</u></td>
<td style="text-align:right">
<button onclick="lancernotepad(fic.value);">Shell.application (si *.txt... ?)</button></td></tr>
<!--÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷-->
</table>
</BODY></HTML>


pour éviter les messages d'avertissement relatifs aux Active'X,
si on est en local, renommer la page.htm en page.hta.

@+




Bonjour Bul !
merci pour ton message ! c'est plus qu'une explication, c'est carément
une démo !!
Merci encore !

tu as mis des "boutons" pour lancer le script, est-il possible de le
faire via un lien avec une balise <a> ?

En fait, je ne connais, pas bien le language que tu utilises (c'est du
javascript n'est-ce pas ?). Peux tu m'indiquer des sites sur lesquels
je pourrais me documenter à ce sujet ?

J'ai aussi besoin d'ouvrir un fichier sur le poste de l'utilisateur afin
de tester la valeur contenue (le fichier "ID.log" contiend par exemple
"D45254" et je souhaite savoir si la longueur est bien de 6 et la
première position est bien une lettre).

Voilà, merci pour ton aide ! joyeuses paques !

josé

Avatar
Bul
salut à toutes, à tous, à José.

tu as mis des "boutons" pour lancer le script, est-il possible de le faire via un lien avec une balise <a> ?
bien entendu : <a href="" onclick="même chose qu'avec les button">lien</a>


( ou pas loin ! )

c'est du javascript n'est-ce pas ?
certains diraient du jscript... c'est à dire du javascript avec des


possibilités supplémentaires, exclusives Windows + Internet Explorer

Peux tu m'indiquer des sites sur lesquels je pourrais me documenter à ce sujet ?
ça regorge sur la toile, un quelconque moteur de recherche aiderait à trouver,


il y en a même un qui se dit notre ami.. alors.
http://fr.selfhtml.org/ une doc en français, téléchargeable
http://www.javascriptfr.com/ de nombreuses sources et plus

J'ai aussi besoin d'ouvrir un fichier sur le poste de l'utilisateur
activeX FileSystemObject nécessaire , quelques explications ? ==>


http://marcel-bultez.chez-alice.fr/documents/SupportsRepertoiresFichiers.htm
http://www.javascriptfr.com/codes/SUPPORTS-REPERTOIRES-FICHIERS-ETJAVASCRIPT_18981.aspx
il y en a d'autres...
@+