Bonjour,
Je possède un programme (écrit en c#) sous forme de exe ou dll. J'aimerais l'executer sur le poste client en le lancant depuis le navigateur.
Est-il possible de le lancer en local depuis un script javascript
Merci de vos réponse
Bonjour,
Je possède un programme (écrit en c#) sous forme de exe ou dll. J'aimerais l'executer sur le poste client en le lancant depuis le navigateur.
Est-il possible de le lancer en local depuis un script javascript
Merci de vos réponse
cela aurait des consequences catastrophiques sur la securité... je ne suis meme pas sur que Microsoft et ses ActiveX autorisent ça, alors qu'en matiere de failles ils sont plutot champions...
non on ne peut decemment pas faire une chose pareille... peut-etre en VBScript, mais je ne suis meme pas sur... et surtout j'espere pas...
bonjour,
avec Javascript sous Windows + Internet Explorer
on peut "TOUT" faire ( quitte à développer son ActiveX ).
j'ai une petite explication sur comment créer
une dll ActiveX [ en VB mais ce n'est pas important,
aussi simple à faire en C++ je suppose ]
et y faire appel en J[ava]Script.
http://marcel-bultez.chez.tiscali.fr/documents/JS_DLL.htm
ne pas cliquer sur le lien, faire un copié/collé
vers la barre d'adresse. @+
Super ,
Merci de ta réponse qui me convient. On m'a fourni tout un paquet et je peux
- visualiser le projet c# que je peux visualiser à l'aide de SharpDevelop.
- avoir le .exe
- avoir une dll
Je suis assez étranger au monde microsoft .
Comment faire pour avoir le CLSID ? C-a-d dans ton exemple comme faire pour avoir ma valeur "MessageBeep.ClsMessageBeep" du
ActiveXObject("MessageBeep.ClsMessageBeep");
J'ai mis ma dll dans system32 et fait un regedit je ne la trouve pas.
J'ai un doute car le fournisseur m'a dit qu'en renommant le .exe en .dll ca marche !
A bientôt
NB : Oui je sais c'est pas très propre mais le big boss veux absolument avoir ce lancement depuis le browser.
dans les explications :
°Nommer ce projet "MessageBeep"
°Nommer le module de classe "ClsMessageBeep"
faire la même chose donc en C++,
°avec VB la compilation fait ce qu'il faut au niveau de Windows,
pour que cette DLL soit connue du système.
sinon il faudrait utiliser Regsvr32.
on peut aussi, directement, lancer un exécutable.
@+
Merci de ta réponse,
Je vais essayer d'installer VB sur mon poste pour faire la manipulation.
Un "Regsvr32 monProgramme" m'informe que monProgramme.dll n'apparait pas comme étant un fichier .dll.
Ca serait mieux cela , quel sont les fucntion vsript ou javascript le permettant ?on peut aussi, directement, lancer un exécutable.
je dois avoir ça quelque part...
mais voici quelques possibilités :
@+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 <HTML> <HEAD> <TITLE> Lancer un Exécutable Décembre 2004 © marcel.Bultez@Tiscali.fr </TITLE> </HEAD> <BODY style="overflow:hidden"><b><pre> fichier <input type="file" name="fic" size=50/><br/> <input value="avec classid" type="button" onclick='lancerclassid(fic.value);'/> nom exécutable <input value="avec start" type="button" onclick='lancerstart(fic.value);'/> nom exécutable ou fichier ( lancera le programme associé, celui utilisé par "Ouvrir avec" ) <input value="avec run" type="button" onclick='lancerrun(fic.value);'/> nom d'un éxécutable uniquement si sous un répertoire accessible directement ( "par path" : windows,mes documents ... ) <input value="avec word (si *.doc,*.rtf,*.txt... ?)" type="button" onclick="lancerword(fic.value);"/> lancer word <script Type="Text/JavaScript"><!-------- //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ function lancerword(doc) //~~ Lancer une application ~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ { var app_word = new ActiveXObject("Word.Application"); // on ferait "de même" avec Excell, Internet, PowerPoint... app_word.Application.Visible = true; try { app_word.documents.open(doc); } catch (erreur) {}} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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+'"'); } // #### start c'est pour windows 98 // #### cmd windows XP //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ function lancerrun(exe) //~~ Exe ~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ { var w = new ActiveXObject("WScript.Shell"); try { w.run (exe,1,true); } catch (erreur) {}} //--------></script> </BODY></HTML>
je n'ai pas répondu....Un "Regsvr32 monProgramme" m'informe que monProgramme.dll n'apparait pas comme étant un fichier .dll
ce n'est pas en renommant un .exe en .dll
que l'on crée un .dll, c'est en choisissant cette
option lors de la compilation/création du source.
@+
Voici la solution que j'ai adopté :
new ActiveXObject("Shell.Application").ShellExecute('c:/monprog.exe');
Et ca marche en enlevant quelques restritions du browser
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager