2010-04-06 44 views

回答

9

是的,你可以在Silverlight 4(在外面的瀏覽器以提升完全信任),例如:如果你是

dynamic cmd = AutomationFactory.CreateObject("WScript.Shell"); 
cmd.Run("calc.exe", 1, true); 
+2

在Silverlight 5中,您可以使用Silverlight 5 RC平臺調用實現更多的功能。 http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2011/09/05/silverlight-5-rc-platform-invocation.aspx – 2011-09-20 14:26:04

2

如果您正在運行你的應用程序無論是在瀏覽器或作爲一個標準的瀏覽器進行應用,能夠啓動另一個進程將打破Silverlight的模型,允許在瀏覽器沙箱外部應用程序訪問機器。

完全信任的應用程序就可以做到這一點。

你爲什麼要啓動另一個進程?

+0

這可能是有用的在瀏覽器中運行你的應用程序,並希望在客戶端啓動一些東西,我想用戶將不得不授予執行此類操作的權限。 – Crackerjack 2010-04-06 15:45:42

+0

@Crackerjack - 在瀏覽器外的應用程序仍然是沙箱(從我讀過的內容),你可能可以在SL4中完全信任的應用程序做到這一點 - 但我還沒有看過這方面的內容。 – ChrisF 2010-04-06 16:21:57

+0

例如,如果我需要在客戶端流上記錄,然後在服務器上發送它。 – 2011-01-18 08:10:23

0

如果您正在使用Silverlight的ASPX頁面中您可以使用HtmlDocument.Window.Invoke調用JavaScript函數這可能又打電話給你的頁面中的一個靜態方法(使用WebMethod屬性)

article here介紹JS/ASPX橋樑很好。

善良,

注:不知道我與你正在嘗試做的同意;只是想幫你做:)

2

在瀏覽器應用程序中使用提升的信任(我們是否應該簡稱ETOOB或OOBET)Silverlight 4應用程序如果是新的程序,你可能可以啓動一個新的應用程序一個COM自動化服務器。例如: -

dynamic excel = ComAutomationFactory.CreateObject("Excel.Application"); 

應該在自己的procress中啓動Excel。

2

沒有簡短的回答,但有一個複雜的...

如果你是runnign SL4外的瀏覽器,你曾表示是正常運行elivated(這真的是SL犯規運行在IE保護模式下,而是作爲標準應用程序......)有一種方法可以讓你通過使用WMI來基本上做任何你想做的事情。這篇博文將幫助你 - http://justinangel.net/CuttingEdgeSilverlight4ComFeatures。 只要記住,這是高端花哨的編碼,所以看自己;)

目前在Windows Phone和Silverlight for Windows Phone支持在LearningWindosPhone.com網站是two great sample chapters。有很大的Windows Phone Trainng material,並且不要忘了Windows Phone Develoeprs Blog

相關問題