2009-11-12 24 views
1

你將如何從一個asp.net頁面啓動一個winform應用程序?如何從一個asp.net頁面啓動一個winform應用程序?

+0

您是否想過類似於網頁如何奇蹟般地啓動iTunes? – Larsenal 2009-11-12 00:38:08

+0

是的,我認爲是這樣的。雖然,winform應用程序是我自己開發的,可以與用戶本地安裝的Outlook進行交流。 – Andrew 2009-11-12 01:42:04

+0

如果您不需要傳遞任何參數並且只需要打開一個應用程序,那麼我在下面描述的應用程序協議註冊可能會有點過分。但是如果你能處理安全的前提條件,它可能會起作用。 – Larsenal 2009-11-12 02:18:14

回答

0

出於安全原因,網絡和Silverlight和Flash不允許您直接與用戶文件系統的互動,這將使病毒編寫方式,以方便有什麼解決方案。

當然,你可以做任何你想使用ActiveX控件等,只要你的用戶接受控制。

這個網站提供了tutorial on launching an app for a client

<SCRIPT Language="JScript"> 
function runcmd() { 
File="cmd.exe"; 
WSH=new ActiveXObject("WScript.Shell"); 
WSH.run(File); 
} 
</SCRIPT> 

<A href="#" onClick="runcmd(); return false;">Run CMD.exe</A> 

注意,這隻能在IE瀏覽器,只有用戶授予其訪問後工作。

爲什麼你需要與桌面應用程序進行交互?也許有更好的方法來創建這種交互。

+0

我需要它才能與用戶的Outlook本地安裝進行交互。具體來說,要將電子郵件保存到他們的草稿文件夾中。我曾嘗試通過WebDAV(直接與Exchange服務器交流)等,但發現它們並不完全滿足我的需求。 – Andrew 2009-11-12 01:41:02

+0

我試過你的方法。當我在一個普通的html頁面上使用它時,它就起作用了。但是,當我在我的asp.net頁面中使用它時,會出現此錯誤:「自動化服務器無法創建對象。」任何想法這意味着什麼? – Andrew 2009-11-12 02:30:28

+0

更新:我通過將IE的安全設置降低到「低」來解決了錯誤。 – Andrew 2009-11-12 02:37:32

0

如果你真的是WinForm的,像你的標籤,而不是網上表格,回答是,你不能只用ASP,因爲這將是一個顯著的安全問題做到這一點。您可能需要一個ActiveX控件或類似的東西。

+0

對不起,是的,我的意思是Winforms。現在修正了標題。 – Andrew 2009-11-12 00:24:38

0

轉換要嵌入到更多的WinForm應用程序Web友好Silverlight

+0

感謝您的回答。但是,我需要能夠與用戶本地安裝的Outlook進行通信。通過Silverlight可以實現嗎? – Andrew 2009-11-12 00:20:59

1

正如它已經說過,我不認爲你可以做到這一點。您可以做的是在您的網站上發佈一個鏈接到您的應用程序(或其安裝包),並讓用戶下載並運行它。有明顯的問題,例如對於任何.net應用程序,您都需要.net運行時的正確版本才能安裝在用戶的機器上。

作爲一種替代你正在試圖做的,請,看一看在ClickOnce Deployment documentation MSDN上的東西;這可能是你正在試圖做的

4

如果您有能力預先安裝WinForm應用程序,請參閱Application Protocol registration。它由Mozilla描述得很好here

這將使你在你的ASP.NET應用程序的線沿線的添加URL:

thing:SomethingThatThingUnderstands 

下面是一個例子(從頁我掛)的URL鏈接,將打開的OneNote:

<html> 
<head> 
<title>Test of onenote: application protocol</title> 
</head> 
<body> 
<p>Open the 
    <a href="onenote://C:\Program Files\Microsoft Office\Templates\1033\ONENOTE\12\Stationery\BLANK.ONE"> Notebook.</a></p> 
</body> 
</html> 
+0

優秀!我以前沒見過這個。 – 2009-11-12 00:42:54

+0

僅'應用協議註冊'IE8? – 2009-11-12 00:53:51

+0

沒有。 AFAIK,這是一個Windows的東西......而不是瀏覽器的東西。我已將鏈接更改爲更好的頁面。 – Larsenal 2009-11-12 00:58:21

相關問題