使用参数调用exe的HTML超链接

时间:2012-04-03 13:45:21

标签: html email href exe

-Hello,寻求帮助。

我们目前有一个winform应用程序,用于在我们公司进行审批。该应用程序将html电子邮件发送给“审批者”,他们阅读电子邮件中的相关信息,然后单击启动应用程序的超链接,以便他们进行审批。

目前,这是通过在电子邮件html中包含以下内容来完成的:

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

在我们可以使用几个安全警告之后,这会正确启动应用程序。我们使用Outlook 2010。

现在,为了改进这个过程,我需要传递一个参数来识别应用程序的批准者。如果我从一个Windows快捷方式传递参数,这可以正常工作,但是,我无法找到将参数传递给href属性中的exe的方法,以便从电子邮件中执行此操作。我到处寻找,除了问题之外什么都没发现。

我试过以下无济于事:

<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 个答案:

答案 0 :(得分:9)

在没有得到任何合适的答案之后,在继续我的研究没有成功之后,我会暂时得出结论,我正在寻找的是不可能的。如果不可能的原因涉及安全性,那么我完全感到困惑的是为什么运行没有参数的exe被允许因此被认为比运行带参数的exe更有害。当然,exe不要求参数有害。如果有人愿意详细说明,那对我来说很有教育意义,谢谢。

尽管如此,我已经想到了我的问题的替代方案,它不像在href中说明参数那样优雅,但它符合我的目的。因为我们的应用程序是从网络驱动器运行的,所以我更改了它,以便在网络驱动器上创建特定于用户的cmd文件,并且它创建的电子邮件中的超链接指向这些cmd而不是exe。这样,cmd文件包含对具有正确参数的exe的调用,并且由于cmd文件非常轻且快速写入,这没关系。

我关闭这个“已回答”,但事实并非如此。

感谢您抽出宝贵时间阅读。

利奥

答案 1 :(得分:6)

我建议您查看“如何创建协议并为其指定带参数的应用

示例:http://kb.mozillazine.org/Register_protocol

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

答案 2 :(得分:3)

我遇到了同样的问题,我发现一个替代方法是创建一个附加到包含命令行和相应参数的电子邮件的.bat文件,用户双击附件,确认需要打开文件,然后运行.bat。它不像链接那么干净,但我想在某些情况下这是一个可接受的解决方法。   重要:我的操作系统是Win7,电子邮件客户端是Lotus Notes,我不确定此替代方案是否适用于其他邮件客户端/操作系统。