如何通过ASP.net网站运行另一个本地应用程序(使用c#开发的应用程序),并将参数发送到本地应用程序(如名称,源文件)?在ASP.net网站运行另一个本地应用程序
(据我所知,会有此安全风险,但我会考虑建议)在此先感谢,
如何通过ASP.net网站运行另一个本地应用程序(使用c#开发的应用程序),并将参数发送到本地应用程序(如名称,源文件)?在ASP.net网站运行另一个本地应用程序
(据我所知,会有此安全风险,但我会考虑建议)在此先感谢,
您可以处理自己的URL协议(如Skype)的作用:
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>
你的意思是服务器或客户端上启动一个本地程序?
在服务器上,您可以start a process并将它传递给需要访问的信息的命令行参数。
启动本地程序他们的本地机器的客户端..谢谢... – lexeRoy 2012-07-27 06:25:53
不可能。浏览器安全限制。 – nunespascal 2012-07-27 06:28:19
@nunespascal - 呃...也许是一个ActiveX控件(那些甚至还在?)无论哪种方式,这听起来像一个坏主意。 – Tommy 2012-07-27 06:30:50
由于大多数现代浏览器的安全限制,这是不可能的。
如果你可以限制你的用户到IE(非常糟糕的做法),ActiveX控件可以做到这一点。这是一个小的代码片段。
<SCRIPT Language="JScript">
function runcmd() {
File="cmd.exe";
WSH=new ActiveXObject("WScript.Shell");
WSH.run(File);
}
</SCRIPT>
是的。我知道这一点,但我认为我不能限制他们。 – lexeRoy 2012-07-27 06:57:31
感谢您的想法。我也在考虑这个... – lexeRoy 2012-07-27 06:59:44
我们实际上使用它,它的作用就像一个魅力。但它仅限于简单的参数 – 2012-07-27 07:01:59
你能举个例子吗?提前致谢! – lexeRoy 2012-07-27 07:15:31