He estado buscando un comando en Java Script para ejecutar un comando desde Windows, pero no lo he conseguido o más bien no lo he encontrado. Es una aplicación en una Intranet, y para hacerles más fácil la vida a los usuarios del Sitio WEB de intranet, quiero ejecutar un programa, tal como Word, Calc etc, haciendo Click en un Link, eso es todo, si me pudieses ayudar te ayudaría mucho
Aquí tienes una solución genérica que funciona en Explorer 4 y 5.x y en Netscape 4.x (no en Netscape 6, lo siento). Netscape necesita tener Java habilitado, y en los dos navegadores los ajustes de seguridad harán que salga una ventanita de confirmación en la que se recomienda *vehementemente* que no se ejecute el programa... No hay más solución a esto que rebajar la seguridad de los navegadores. En Explorer, dentro de Herramientas/Opciones de Internet/Seguridad puedes tocar (seguramente tendrás que bajar el nivel al mínimo para la intranet). En Netscape tendrás que decirle a tus usuarios que pulsen el botón 'Grant'... Afortunadamente, estas ventanas sólo salen una vez durante la sesión. Ahí va una página que tiene un enlace que ejecuta el Notepad. <html> <head> <title>Test</title> <script language="JavaScript"><!-- function exec (command) { if (document.layers && navigator.javaEnabled()) { window._command = command; window.oldOnError = window.onerror; window.onerror = function (err) { if (err.indexOf ("User didn't grant") != -1) { alert('La ejecución de ' + window._command + ' no ha sido permitida por el usuario.'); return true; } else return false; } netscape.security.PrivilegeManager.enablePrivilege ('UniversalExecAccess'); java.lang.Runtime.getRuntime().exec(command); window.onerror = window.oldOnError; } else if (document.all) { window.oldOnError = window.onerror; window._command = command; window.onerror = function (err) { if (err.indexOf('utomati') != -1) { alert('La ejecución de ' + window._command + ' no ha sido permitida por el usuario.'); return true; } else return false; }; var wsh = new ActiveXObject('WScript.Shell'); if (wsh) wsh.Run(command); window.onerror = window.oldOnError; } } //--></script> </head> <body> <a href="javascript:exec('notepad')">Pulsa aquí para ejecutar notepad</a> </body> </html> Algunas notas: * Asegúrate de que el nombre del comando que quieres ejecutar está bien escrito/existe en todas las máquinas. El script no detecta ese error. * Si alguien tiene activada (en Explorer) la depuración de scripts, ve esta página con seguridad media-baja o superior y deniega la ejecución del control ActiveX, no le aparecerá correctamente la ventana de error programada, sino la del depurador, que no se puede capturar.