Muy buenas. Hace tiempo que traté de abrir archivos ubicados en una red local directamente desde una intranet. Entre otras opciones, probé con WScript.Shell pero a veces iba y otras no, y no en todos los navegadores de la oficina.
He pensado quizás en registrar un nuevo protocolo o extensión de internet (la verdad es que no sé como se llama exactamente) de manera que poniendo un enlace del tipo: doclocal://... se abra con un pequeño programita de winforms que ejecute el programa asociado a la extensión del archivo.
Por ejemplo, Skype añade el protocolo callto:// de manera que al pulsar en un vínculo de este tipo se ejecuta Skype.
He creado las siguientes claves:
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\docLocal]
"EditFlags"=hex:02,00,00,00
@="URL:DocLocal Protocol"
"URL Protocol"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\docLocal\Defau ltIcon]
@="\"C:\\Archivos de programa\\MiPrograma\\MiPrograma.exe\",0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\docLocal\shell]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\docLocal\shell \open]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\docLocal\shell \open\command]
@="\"C:\\Archivos de programa\\MiPrograma\\MiPrograma.exe\" \"/docLocal:\"%l\"\""
El navegador lo reconoce y trata de abrir MiPrograma.exe. La cuestión ahora es como identificar la cadena con MiPrograma para abrirlo
doclocal://SERVIDOR/Servidor/documentoMSWord.doc
doclocal://SERVIDOR/Servidor/documentoPDF.pdf
doclocal://SERVIDOR/Servidor/documentoCualquiera.ext
Gracias y un saludo.