Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
ejecutar programa desde html
Enviado por nuria el día 6 de junio de 2003
Hola, alguien sabe si hay alguna forma de ejecutar un programa desde una página sin que salga abrir/guardar? Es sin conexión a internet, la página y el ejecutable están en el mismo directorio.
Gracias
Hola, como estas?
Lo que quieres no se puede ya que si no imaginate cuantos programas se podrian instalar en nuestras computadoras. Es una forma de seguridad de internet explorer asi sabes tu que instalas. Pero si quieres que igual pregunte si se quiere instalar el programa al momento en que la pagina se cargue pon esto en el tag body.
<body onload="window.open('programa.exe')">
Espero que te sirva de algo.
Chau
ElH
Oigan tu tengo la misma duda, a diferencia de que el programa que quiero ejecutar radica en el cliente no en el servidor, hagan de cuenta que en mi pagina quiero poner un boton que habra el notepad de la pc cliente....¿como le haria?
Enviado por scriptman el día 15 de octubre de 2003
Esto es posible, con ActiveX
<script languaje="javascript">
//--ActiveX...--//
var fso = new ActiveXObject("Scripting.FileSystemObject");
//LaunchArchivoByScriptman
function launch_x(prog,filen) { //v1.0 by scriptman
var theShell = new ActiveXObject("WScript.Shell");
theShell.run(prog+" "+filen, 0, true);
}
</script>
Y se usa asi:
launch_x('C:/WINDOWS/notepad.exe','archivo.txt');
Pudiendo pasar los parametros que sean como si se estubiera escibiendo en la ventana EJECUTAR de win2.
Esto es util para paginas locales, intranets propias, etc.
** Si se abre desde internet;
1) el navegador dira que la pagina tiene un script dudoso y preguntara si se desea continuar;
2) Si se le dice que si, y se tiene un Antivirus u otro programa de seguridad que monitorie el sistema en tiempo real, tb lo detendra y preguntara si se desea dejar correr el script 1 ves, toda la secion o detenerlo, etc.
Por lo tanto hay que configurar al navegador y al antivirus para que "confie" en nuestros propios scripts y no pregunte más.
Para facilitar esos permisos, es recomendable usar HTML Aplications.
Nota: Active X es una tecnologia de microsoft, por lo que otros navegadores no lo soportan.
Sin embargo, es practico para aquel que tenga conocimiento en HTML, puesto que abre toda una gama de posibilidades para desarrollar aplicaciones o semi-aplicaciones vistozas y sencillas.
Hola Scriptman, realmente me agrada que propongas una solución al problema planteado, pero me gustaria que me enviaras un pequeño ejemplo a mi correo rblanco@proinpa.org claro si no es mucho pedirte.
Saludos y gracias.
Hola , tu script en active x es muy bueno, esto intentando que este mismo me ejecute un programa distinto al notepad , y pasarle otro fichero ,exactamente quiero ejecutar el vncviewer y le tengo q pasar el paremente /config junto con un fichero, lo que pasa que cuando modifico tu script me da un fallo en la ejecucion.
Aver si me echas una manilla .
PD: muchas gracias por tu script porq llevaba 3 horas buscando esto :D muchas gracias , espero contestacion pronto .
He seguido tus instrucciones al pie de la letra, y todo bien. Pero cuando pruebo la funcion en Microsoft FontPage los programas se ejecutan sin problema, pero otra cosa en cuando lo ejecuto directamente desde el explorador, pues manda en el pie de pagina un erro de pagina, sin ejecutar el programa, me pregunto que estara pasando porque el error en el explorer y no en FrontPage.
Me puede ayudar... para solucionar el problema
Re: Re: Re: Re: Re: Re: ejecutar programa desde html
Enviado por scriptman el día 15 de enero de 2004
Holas, en el error debe de venir cierta informacion por ejemplo la linea de codigo donde esta el error...
Eso deberia de darnos una pista de qué causa el error.
Aprobecho para pasarles la nueva version de esa funcion;
var theShell = new ActiveXObject("WScript.Shell");
function launch_x(prog,filen,mode,one_instance) { //v2.0 by scriptman
//modes; 0: hidde, 1: normal, 2: minimized, 3: maximized, 4: normal unfocus,
//one_instance; false: multiple instances, true: only one.
Re: Re: Re: Re: Re: Re: ejecutar programa desde html
Enviado por scriptman el día 16 de enero de 2004
Hola que tal, como no habia visto tu duda y ya pasaron varios dias pense que ya no necesitabas respuesta;
-No he trabajado con FrontPage y activeX, asi que no se si FrontPage modifique el codigo final de alguna forma y sea ese el problema; ve el codigo fuente en tu navegador para verificar que este tal cual.
-Navegadores como IE tienen diferentes niveles de seguridad para contenidos de internet, locales, etc. Ahi se especifica si acepta ActiveX, si no, o si debe preguntar. (la advertencia de seguridad se muestra siempre antes de ejecutar el codigo ActiveX); puedes ver esa configuracion en:
Herramientas> Opciones de Internet> Seguridad> Nivel Personalizado> Automatizacion> ActiveX
-Tambien, como mencione antes, si usas algun Antivirus éste puede estar bloqueando por defecto este tipo de scripts, por su implicacion en seguridad.
Re: Re: Re: Re: Re: Re: Re: ejecutar programa desde html
Enviado por saturno el día 15 de julio de 2004
Si! a mi me esta pasando lo mismo, que hago, me henera el error "El servidor de automatizacion .......", aue hago miro por las propiedades pero no se que activo y cual, digo por las propiedades del navegador.
Ya hace memes que ustedes tenian el problema, pero ahora me pasa, como soluciono. GRACIAS, SUERTE.
Re: Re: Re: Re: Re: Re: Re: Re: ejecutar programa desde html
Enviado por El_maquina el día 14 de junio de 2006
Por FIN!!!!! ya se!, se debe añadir un sitio de confianza en el Internet Explorer. Añadete localhost o donde tengas el server, y entonces no te dirá el error de "El servidor de automatizacion ......."
Yo tambien he probado el script para crear un archivo y tengo el problema de "El servidor de automatizacion no puede crear el objeto" pero solo lo tengo cuando la pagina es JSP y como funciona con Tomcat, creo que es ese el error porque si es HTML el archivo es creado sin problemas
Por favor me podrias ayudar porque realmente neesito mucho hacer una aplicacion de este tipo
Hola scriptman:
estoy intentando hacer una especie de aplicación SAP en PHP para mi empresa donde se controlará el manejo de archivos y directorios incluyendo lectura, escritura y modificación de ficheros de tipos variados. Después de investigar por la red me he dado cuenta que ya que PHP es un lenguaje de servidor no tiene ninguna opción a la hora de abrir ficheros compartidos desde los clientes. Así que la solución me la da JavaScript y su objecto ActiveX WScript.Shell el cual me permite ejecutar en la máquina cliente cualquier programa instalado, incluyendo el OpenOffice para la edición de archivos .txt. Ahora bien tengo 2 preguntas:
¿Abría alguna posibilidad de abrir programas y ficheros de cara al cliente sin utilizar librerias ActiveX? De esta manera no limitaría el acceso a la aplicación a navegadores web diferentes al Internet Explorer.
¿Como puedes pasarle al metodo run del objeto theShell una cadena larga con ESPACIOS para ejecutar un programa? Sería algo así: theShell.run ("C\\Archivos de programa\\OpenOffice\\soffice.exe Z:\\Documentos\\archivo.txt"). Esta orden no funciona al parecer por los ESPACIOS existentes entre Archivos_de_programa.
Gracias de antemano. Un saludo. Pablo.
Hola a todos.... Lo que necesito es abrir una presentación de powerpoint desde una pag html, que esta me arroje una alerta y al hacer click en aceptar abra dicha presentación...
scripman, como estas trate de ejecutar tu programita, pero no se que me falta para que funcione me sale un error, que no existe activexobject
haber si me ayudas por favor
gracias
UNA AYUDITA POR FA, NECESITO EJECUTAR UN ARCHIVO Q SE ENCUENTRA EN EL CLIENTE PARA ENVIAR UNA IMPRESION POS, EL CLIENTE DEBE INGRESAR A LA PAGINA GRACIAS.
Esa última solución es bastante simple, solo que hay que instruir al usuario para que siempre pulse el botón abrir u open. Claro que me gustaría que se ejecute inmediatamente sin que aparezca esa famosa ventanita, pero ni modo...El código del ActiveX no les funciona a algunos seguramente porque tienen versiones anteriores de IE 5.
Enviado por Dominici, Antonio (PANAMA) el día 17 de junio de 2005
Yo necesitaba hacer esto de habrir un programa en el clíente y lo hice con el siguiente código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript">
function shell(command)
{
RegWsh = new ActiveXObject("WScript.Shell");
RegWsh.Run(command);
}
</script>
IMPORTANTE: este código al ejecutarlo desde sus maquinas ósea con doble clic sobre el archivo funciona pero cuando lo hacen desde un servidor Web no funciona, esto se resuelve de la siguiente manera:
1) Probar a dar de alta la Web como sitio de confianza en Herramientas-opciones de internet-seguridad-sitios de confianza-Agregar este sitio web a la zona y allí dar de alta la dirección https://www2.aeat.es, y pulsar agregar y aceptar.2) Si después de hacer esto aún no funciona desconectar el antivirus que pudiésemos tener instalado.
3) Si tampoco funciona y hay instalado un cortafuegos hay que desactivarlo o configurarlo para que nos deje ejecutar los Controles active-x.
4) Si tampoco funciona y el pc esta en red , debemos entrar con un usuario de tipo administrador, instalar el certificado desde una copia de seguridad(fichero con extensión “pfx”) y realizar la operatoria de envío.
5) Si tampoco funciona comprobar que no haya un proxy que nos impida ejecutar controles Active-x.
Re: Re: Re: Re: Re: Re: ejecutar programa desde html
Enviado por aandyy el día 16 de enero de 2006
hola aca tengo un script en asp es algo parecido el problema es que no ejecuta el script en el servidor al al ingresar la direccion en el browser desde cualquier host (pero en forma localhost si que anda)
tambien necesito que lo modifique en forma remota
aandyy
Enviado por Sharon (PR) el día 6 de octubre de 2005
Hola Dominici Antonio!!!!
Estuve probando tu código en una aplicación web que estoy desarrollando y una de las funcionalidades que necesito es exactamente lo que tienes en tu explicación.
El código <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"
\"http://www.w3.org/TR/html4/loose.dtd\"> lo coloqué antes de la etiqueta (tag) del <html>. Luego el siguiente código lo puse después de las etiquetas de <title> ... </title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
<script language=\"javascript\">
function shell(command)
{
RegWsh = new ActiveXObject(\"WScript.Shell\");
RegWsh.Run(command);
}
</script>
Programando para mozilla no disponemos de los objetos ActiveX, por lo que el codigo no funciona. En lugar d estos objetos estan los objetos XMLHttpRequest, pero estos no tienen el metodo run..... Alguien sabe como puedo solucionar esto
Asi es cruzcampo, solo IE soporta ActiveX de microsoft.
Para mozilla firefox, que es el navegador que uso, podemos usar una Extensión para tal porpósito. Un ejemplo práctico lo puedes ver en la extensión "open in IE", donde desde mozilla se manda ejecutar el iexplorer.exe; para ver el "codigo fuente" de la extension, en lugar de darle click para instalarla, dale click con el boton derecho y "Guardar enlace como...".
Otra solucion, para que sirve en cualquier navegador, es crear tu propio protocolo, como "http://" o "edk://" etc.
Y al dar click a un enlace de ese tipo, un programa (o batch file o hta o lo que sea) interpreta el comando.
Ésta ultima es la que yo uso, porque el interprete del enlace lo puedes hacer con mas funciones y/o caracteristicas de seguridad, y mantiene el codigo HTML correcto, compatible y apegado a los standars; otro "plus" es que puedes hacer interpretes para el enlace en cualquier plataforma (Mac, Linux, etc.) o cambiar y expandir el "interprete".
Saludos, Hexclecticomicron.
.::Apoya al software Libre::.
A que se puede deber el error: 'El servidor de Automatizacion no puede crear el objeto' porque me da al momento de instanciar el ActiveX
[ CUANDO HAGO var wsh=new ActiveXObject("WScript.Shell");]
he visto en varias paginas que sale una autorizacion, al darle a si el programa se instala, ¿es posible que alguna alma caritativa nos ponga algo parecido?
Enviado por Miguel Rosales Ponce el día 29 de noviembre de 2005
Sabes yo tenia el mismo error que aparecia en la parte inferior izquierda, y eso es un error que arroja el javascript, todo este problema es de seguridad, le active los activex en el IE6 y igual me arroja el mismo error, pero lo que si me funciono fue trabajar en la seguridad de la intranet, ingresa en herramientas/opciones de internet/seguridad/seleccionar Intranet Local y click en sitios para registrarel sitio donde estas trabajando, como intranet, y listo.
Les cuento que estoy haciendo una aplicación en internet de gestion de pedidos de un almacen, la plataforma es Linux (ubuntu), y el navegador firefox (por aquello del DOM, lo soporta muy bien).
El problema radica al momento de imprimir, la impresora es una POS y no pudimos configurarla para que funcionara (hay de varias marcar: EPSON, STAR, SAMSUNG), en Windows se puede configurar una generica / solo texto y funciona, solo que en Linux no lo logramos.
Sí enviamos la impresión desde linea de comandos al puerto sale perfecta, pero desde el navegador no fué posible.
La solución alternativa es generar un archivo en el cliente y ejecutar la impresión por comando, mediante javascript. Ya logre crear el archivo en el cliente sin problema, pero no he podido enviarlo a la impresora.