.net app从Web浏览器启动时没有获取exe参数

时间:2014-10-08 20:40:33

标签: .net

我有一个使用命令行参数的vb应用程序。我可以运行应用程序,当我通过快捷方式使用“C:\ myApp \ myapp.exe -b:”设置“-a:”othersetting“时,它会识别args。如果我需要从html启动应用程序(例如html嵌入式电子邮件)我创建链接为:

<a href="file:///c:\myApp\myapp.exe?-b=somesetting&-a=othersetting">click here </a>

它启动了我的应用程序,但没有拿起参数。抓取参数的vb代码如下所示:

Dim args As String() = Environment.GetCommandLineArgs()
For cnt As Integer = 1 To args.Length - 1

    Select Case args(cnt).Substring(0, 2).ToLower
        Case "-b"       ' do stuff
        Case "-a"       ' do other stuff
           setvar = args(cnt).Substring(3)
    End Select

Next

任何人都知道如何从URL查询字符串传入时获取args我会很感激帮助。

2 个答案:

答案 0 :(得分:0)

执行此操作的一种方法是使用您自己的自定义URL协议处理程序并在锚标记中使用它。您需要更新客户端注册表才能使其正常工作。 所以你会有这样的事情:

<a href="myProt:myParam">click here </a>

有关详细信息,请参阅here

另一种方法是使用.Net Click Once框架。有关该信息,请参阅here

答案 1 :(得分:0)

感谢所有帮助。经过多次阅读后,我发现了一个简单的解那就是我在.net应用程序中使用WshShell创建了一个lnk文件,该文件生成电子邮件并附加了lnk文件,而不是在电子邮件的html中嵌入到exe的链接。可能看起来不那么漂亮......但它确实有效。