2012-04-03 16 views
9

-Hola, en busca de ayuda.hipervínculo HTML para llamar a exe con los parámetros

Actualmente contamos con una aplicación winform que se utiliza para aprobar en nuestra empresa. La aplicación envía correos electrónicos html a los "aprobadores" que leen la información relevante en el correo electrónico y hacen clic en un hipervínculo que inicia la aplicación para que puedan dar su aprobación.

Actualmente esto se hace mediante la inclusión de lo siguiente en el HTML de correo electrónico:

<a href=file:///C:\Temp\test.exe>Click to Approve</a>

Esto inicia la aplicación correctamente, después de un par de advertencias de seguridad que estamos bien con. Usamos Outlook 2010.

Ahora, para mejorar este proceso, necesitaría pasar un argumento identificando el aprobador a la aplicación. Esto funciona correctamente si paso el argumento de, por ejemplo, un acceso directo de Windows, sin embargo, No puedo encontrar una manera de pasar el argumento al exe en el atributo href para hacerlo desde el correo electrónico. Miré a todas partes y no encontré nada, excepto las preguntas.

he intentado lo siguiente en vano:

<a href=file:///C:\Temp\test.exe approverID>Click to Approve</a> <a href=file:///C:\Temp\test.exe 'approverID'>Click to Approve</a> <a href="file:///C:\Temp\test.exe approverID">Click to Approve</a>

También he intentado hacerlo con JavaScript, que desde una página HTML funciona bien, pero no de un correo electrónico en Outlook .

Pensé que tal vez haya una amenaza a la seguridad con este enfoque, por lo tanto no es posible, pero si puedo ejecutar un exe correctamente desde un correo electrónico, ¿por qué no puedo ejecutar un exe con parámetros? No tiene sentido.

Gracias por su ayuda.

Leo

Respuesta

7

después de no conseguir cualquier respuesta adecuados y después de continuar mi investigación para este sin éxito, voy a concluir temporalmente que lo que yo estoy buscando no es posible. Si las razones por las cuales esto no es posible tienen que ver con la seguridad, entonces estoy completamente desconcertado de por qué se permite ejecutar un exe sin parámetros y, por lo tanto, se considera MENOS dañino que ejecutar un exe con parámetros. Sin duda, un exe no requiere que los parámetros sean dañinos. Si alguien quisiera elaborar sobre esto, sería educativo para mí, gracias.

Sin embargo, he pensado en una alternativa a mi problema, que no es tan elegante como lo sería establecer parámetros en href, pero sirve para mi propósito. Debido a que nuestra aplicación se ejecuta desde una unidad de red, la he cambiado para que cree archivos cmd específicos del usuario en la unidad de red y el hipervínculo en el correo electrónico que crea apunta a estos cmd en lugar del exe. De esta forma, los archivos cmd contienen la llamada al exe con los parámetros correctos y, como los archivos cmd son muy ligeros y se escriben rápidamente, esto está bien.

Estoy cerrando esto como "respondido", pero no lo es.

Gracias por tomarse su tiempo para leer.

Leo

+0

Gracias por el esfuerzo y la información ... 2014, y todavía no puedo encontrar una solución elegante :-) – Heliac

+0

una respuesta diciendo que algo no se puede hacer sigue siendo una respuesta. Gracias por esto. – eis

+0

una solución muy común para esto es crear muchos atajos pequeños que tienen diferentes argumentos en ellos, luego hipervínculo a uno de estos –

5

recomiendo que eche un vistazo a "Cómo crear un protocolo y asignarle una aplicación con los parámetros".

Ejemplo: http://kb.mozillazine.org/Register_protocol

http://msdn.microsoft.com/en-us/library/aa767914.aspx

+0

David, gracias. Miré la información que me proporcionó y no veo cómo se relaciona con el lanzamiento de archivos ejecutables con argumentos de un correo electrónico. Además, parece que implica modificar el registro de las máquinas aprobadores. No puedo hacer eso. La aplicación está en una unidad de red y todos los aprobadores solo la ejecutan desde esa ubicación, no tendría acceso a sus computadoras. – leoinlios

+0

Ah bien. Bueno, si creas un protocolo, puedes pasar un argumento como este: 'yourptotocol: // arg1/arg2/etc' a un parámetro en el registro que va a ser algo así como' C: \\ PAth \\ blabla \\ bob. exe% 1% 2% 3' etc –

+0

Pero mi pregunta era sobre pasar parámetros en el atributo href en HTML. No tengo problemas para pasar parámetros a mi aplicación, la solicitud es hacerlo desde un enlace en un correo electrónico. Gracias. – leoinlios

3

he tenido el mismo problema y una de las alternativas que he encontrado era crear un archivo .bat que se adjunta a la dirección de correo que incluye la línea de comandos y parámetros respectivos, el usuario hace doble clic el archivo adjunto, confirma que quiere abrir el archivo y se ejecuta .bat. No es tan claro como el enlace, pero supongo que es una solución aceptable en algunos casos. Importante: Mi sistema operativo es Win7 y el cliente de correo electrónico es Lotus Notes, no estoy seguro de si esta alternativa funciona con otros clientes/SO de correo.

+0

Sé que esta pregunta es antigua, pero utilicé el enlace href para llamar al archivo bat que abrió mi aplicación y pasó en mis parámetros ... ¡esto funciona genial! y utilicé también un recurso compartido de red, así que solo tener ese archivo de bat fue mejor que tener múltiples enlaces por respuesta de OP. – jharr100

Cuestiones relacionadas