El truco está en salvar un marcador en la barra de marcadores cuya url es un ejecutable o un bat que está en el sistema local.
Para evitar que el navegador nos muestre el contenido del fichero en vez de ejecutarlo, tenemos que crear un nuevo "protocolo" que en realidad no es más que la ejecución de una shell para nuestro programa.
Para crear el protocolo, creamos una entrada de registro como, por ejemplo, appurl.reg
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\appurl] @="URL:AutoHotKey AppURL Protocol" "URL Protocol"="" [HKEY_CLASSES_ROOT\appurl\DefaultIcon] @="appurl.exe,1" [HKEY_CLASSES_ROOT\appurl\shell] [HKEY_CLASSES_ROOT\appurl\shell\open] [HKEY_CLASSES_ROOT\appurl\shell\open\command] @="\"C:\\directorio\\programa.bat\" \"%1\""y lo registramos (click derecho-> Combinar). Esto nos crea el "protocolo" appurl. Ahora creamos el fichero
c:\directorio\programa.batcon nuestro código.
Finalmente, en el chrome vamos a Marcadores->Añadir página y en la url ponemos
appurl://lo-que-queramos-pasar-a-programaba.bat
Si queremos llamar al protocolo desde chrome, podemos usar
window.location.assign("appurl://algo");
Referencias:
http://www.autohotkey.com/board/topic/71831-application-url-launch-local-application-from-browser/
http://stackoverflow.com/questions/2330545/is-it-possible-to-open-custom-url-scheme-with-google-chrome
2 comentarios:
que tal.. intento probar tu solucion.. en lo personal necesito ejecutar un .exe
.. intente reemplazar lo que tu tienes como programa.bat por mi aplicacion.exe .. pero no me funciono...
"c:\directorio\programa.bat
con nuestro código."
En el marcador.. agrege
appurl://c:\directorio aplicacion\aplicacion.exe
"appurl://lo-que-queramos-pasar-a-programaba.bat"
inclusive al momento de hacer llamar la aplicacion con el
window.location.assign
le puse
window.location.assign("appurl://c:\directorio aplicacion\aplicacion.exe");
"window.location.assign("appurl://algo");"
podrias ayudarme para ver si algo anda mal? mi version de chrom: Versión 34.0.1847.131 m
de antemano mil gracias
ariel
lcrt_1@hotmail.com
El truco funciona perfectamente. falto decir que para que funcione se debe crear un MARCADOR, pues desde la barra de direcciones NO FUNCIONA en Chrome (En firefox sí)a lo mejor es por la integración con el buscador web. Si necesitan crear accesos a varios programas, pues se crean varios protocolos appurl1, appurl2 ... y como se sabe se puede lanzar cualquier aplicación desde un batch. y hasta se pueden ocultar la ventana del CMD.
Publicar un comentario