HTML гиперссылка для вызова exe с параметрами - PullRequest
14 голосов
/ 03 апреля 2012

- Здравствуйте, вам нужна помощь.

В настоящее время у нас есть приложение winform, используемое для согласований в нашей компании.Приложение отправляет HTML-письма «утверждающим», которые читают соответствующую информацию в письме и щелкают по гиперссылке, которая запускает приложение, чтобы они могли сделать свое одобрение.

В настоящее время это делается путем включения в адрес электронной почты html следующего содержания:

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

Это корректно запускает приложение после пары предупреждений безопасности, с которыми у нас все в порядкес.Мы используем Outlook 2010.

Теперь, чтобы улучшить этот процесс, мне нужно передать аргумент, идентифицирующий утверждающее приложение.Это работает правильно, если я передаю аргумент, скажем, из ярлыка Windows, однако Я не могу найти способ передать аргумент в exe в атрибуте href , чтобы сделать это из электронной почты.Я посмотрел везде и не нашел ничего, кроме вопросов

Я попробовал следующее безрезультатно:

<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>

Также я попытался сделать это с помощью JavaScript, который со страницы HTMLработает нормально, но не из электронной почты в Outlook.

Я подумал, может быть, есть угроза безопасности с таким подходом, следовательно, это невозможно, но если я могу успешно из электронной почты запустить exe, почему я не могузапустить exe с параметрами?Это не имеет смысла.

Спасибо за помощь.

Лев

Ответы [ 3 ]

9 голосов
/ 04 апреля 2012

после того, как я не получил подходящих ответов и после того, как продолжил свое исследование для этого безуспешно, я временно сделаю вывод, что то, что я ищу, невозможно. Если причины невозможности связаны с безопасностью, тогда я совершенно озадачен тем, почему запускать exe без параметров разрешено и поэтому считаю МЕНЬШЕ вреднее, чем запускать exe с параметрами. Конечно, exe не требует, чтобы параметры были вредными. Если кому-то захочется уточнить это, это будет полезно для меня, спасибо.

Тем не менее, я подумал об альтернативе моей проблеме, которая не так элегантна, как в противном случае указание параметров в href, но она служит моей цели. Поскольку наше приложение запускается с сетевого диска, я изменил его так, чтобы оно создавало специфичные для пользователя файлы cmd на сетевом диске, а гиперссылка в электронном письме, которое оно создает, указывает на этот cmd вместо exe. Таким образом, cmd-файлы содержат вызов exe с правильными параметрами, а поскольку cmd-файлы очень легкие и быстро записываются, это нормально.

Я закрываю это как "ответил", но это не так.

Спасибо, что нашли время, чтобы прочитать.

Leo

6 голосов
/ 03 апреля 2012

Я рекомендую вам взглянуть на "Как создать протокол и назначить ему приложение с параметрами" .

Пример: http://kb.mozillazine.org/Register_protocol

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

3 голосов
/ 13 декабря 2013

У меня возникла та же проблема, и я нашел одну альтернативу - создать .bat-файл, прикрепленный к электронному письму, который включает в себя командную строку и соответствующие параметры, пользователь дважды щелкает вложение, подтверждает, что хочет чтобы открыть файл и .bat работает. Это не так чище, как ссылка, но я думаю, что в некоторых случаях это приемлемый обходной путь. Важно : Моя ОС - Win7, а почтовый клиент - Lotus Notes, я не уверен, работает ли эта альтернатива с другими почтовыми клиентами / ОС.

...