2011-03-24 34 views
5

Estoy tratando de usar una página web como punto de entrada para un quiosco. El HTML se llevará a cabo a nivel local, necesito dos cosas:Ejecutar un programa desde una página web local

<a href="c:\Users\Admin\Documents">... 

que funciona como un encanto

Y ..

<a href="c:\Program Files\Windows Live\Mail\wlmail.exe">... 

(programa sólo un ejemplo, todos los programas son los mismos)

Que funciona, pero ... solicita descargar el archivo y luego se le solicita que lo inicie. ¿Hay alguna manera de hacerlo directamente, como hacer clic y abrir Bam Notepad.exe? Tal vez usando un applet de Java?

Gracias

Gracias

EDIT:

Sé que no se puede hacer de forma remota, estoy hablando acerca de los archivos locales. Se accederá al archivo como c: \ myhtml.html Y se abrirá SOLAMENTE los archivos ya instalados, nada de la web.

+0

Tuve que hacer esto una vez y usé un verbo canónico. Sin despeinarse sin problemas. –

Respuesta

6

Si entiendo correctamente su pregunta, lo más parecido a obtener lo que desea sería usar * .hta, que es una aplicación HTML que se ejecuta fuera de la ventana del navegador como una aplicación normal.

<script type="text/javascript" language="javascript"> 
    function RunFile() { 
    WshShell = new ActiveXObject("WScript.Shell"); 
    WshShell.Run("c:/windows/system32/notepad.exe", 1, false); 
    } 
</script> 

poco más información aquí: http://www.kunal-chowdhury.com/2010/09/how-to-execute-local-file-using-html.html

1

No, esto es un problema de seguridad, los navegadores no lo permiten porque podría haber un riesgo de seguridad para ejecutar aplicaciones sin solicitud, simplemente haciendo clic en el enlace.

Existen varias tecnologías como java WebStart y ASP ClickOnce: instalarán la aplicación más o menos automáticamente, la firma de la aplicación también ayuda, los mensajes que recibe el usuario se ven menos atemorizantes.

1

Corrígeme si no te entendí. Si está ejecutando la página web localmente (http: \ 127.0.0.1) y desea ejecutar un programa en la misma máquina, dependerá de la tecnología que esté utilizando, por ejemplo, en php podría usar exec() para ejecutar un programa en la entrada del usuario, pero se ejecutará en el lado del servidor.

+0

Se abrirá como c: \ myhtml.html – 0plus1

+0

Sí, podría hacer algo como esto en php: ' ' Su enlace debe verse más o menos así:' ' –

1

Eso es, por supuesto, un problema de seguridad. Pero ese no es el problema, la razón por la que él quiere hacer eso es claramente otro problema.

La pregunta sigue siendo: ¿CÓMO ejecutar un programa externo desde el lado CLIENTE/SERVIDOR?

He encontrado algunas pistas:

  • ActiveX: Específicas para IE, por lo que no es muy agradable,
  • ServerSide javascript marcos, como Node.js: del lado del servidor? Ni siquiera sé este marco ...^^ ',
  • Complementos de navegador cruzado que pueden mejorar las posibilidades, no mi dominio aquí también,
  • En Media Player classic, puede hacer que escuche un puerto, y luego usarlo para llamar al programa usando direcciones de comando específicas , bastante agradable, pero específico para un software.

Encontré toneladas de otros tutoriales geniales, pero el trabajo es bastante pesado: cada vez que tengo que descubrir & aprendo otra tecnología.

+4

Y las personas ... por favor, dejen de usar" NO PUEDEN "escribir o responder. Siempre hay una solución. – Chicna

Cuestiones relacionadas