1

如何通过 ASP.net 网站运行另一个本地应用程序(使用 c# 开发的应用程序)并将参数发送到本地应用程序(例如名称、源文件)?

(我知道这会有安全风险,但我会考虑建议)提前致谢,

4

3 回答 3

2

您可以像 Skype 一样处理自己的 URL 协议:

phone://123546
localapp://data

然后创建一个链接

<a href="localapp://data">Open App</a>

或尝试在服务器端重定向

Response.Redirect("localapp://data");

并处理它

例子:

本地应用程序 (c:\localapp.exe):

using System;
class LocalApplication
{
  [STAThread]
  static void Main(string[] args)
  {
    Console.WriteLine(args[0]);
    Console.ReadLine();
  }
}

注册表:

HKEY_CLASSES_ROOT 
     localapp
          (Default) = "URL:Local App"
          URL Protocol = ""
          shell
               open
                    command
                         (Default) = "c:\localapp.exe" "%1"

html:

<a href="localapp://Hello">Start LocalApp</a>
于 2012-07-27T06:47:24.083 回答
0

你的意思是在服务器或客户端上启动一个本地程序?

在服务器上,您可以启动一个进程并将命令行参数传递给您需要访问的信息。

于 2012-07-27T06:24:03.887 回答
0

由于大多数现代浏览器的安全限制,这是不可能的。

如果您可以将用户限制为 IE(非常糟糕的做法),ActiveX 控件可以做到这一点。这是一个小代码片段。

<SCRIPT Language="JScript">
function runcmd() {
File="cmd.exe";
WSH=new ActiveXObject("WScript.Shell");
WSH.run(File);
}
</SCRIPT>
于 2012-07-27T06:37:30.947 回答