如何通過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