你能用Silverlight开始一个外部流程吗?

时间:2010-04-06 15:32:53

标签: silverlight process

System.Diagnostics程序集是Silverlight CLR框架的一部分,但它只包含与调试相关的类,Process类不可用。有没有其他方法可以从Silverlight应用程序启动外部进程?

5 个答案:

答案 0 :(得分:9)

是的,您可以在Silverlight 4中(在具有提升的完全信任的浏览器外),例如:

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

答案 1 :(得分:2)

如果您在浏览器中运行应用程序或作为标准浏览器应用程序运行,则能够启动另一个进程会破坏Silverlight模型,允许您的应用程序访问浏览器沙箱外的计算机。

完全信任的应用程序将能够执行此操作。

你为什么要开始另一个过程?

答案 2 :(得分:2)

使用浏览器应用程序中的提升信任(我们应该简称ETOOB或OOBET)Silverlight 4应用程序如果是COM自动化服务器,您可以在新进程中启动新应用程序。例如: -

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

应该在自己的procress中启动Excel。

答案 3 :(得分:2)

没有简短的答案,但有一个复杂的答案......

如果您运行SL4 Out-Of-Browser,并且您表示您可以正常运行(这实际上意味着SL不在IE保护模式下运行,而是作为标准应用程序运行......)有一种方法可以你通过使用WMI基本上做你想做的任何事情。这篇博客文章将为您提供帮助 - http://justinangel.net/CuttingEdgeSilverlight4ComFeatures。 请记住,这是高端的花式编码,所以请注意自己;)

Windows Phone上有two great sample chaptersLearningWindosPhone.com网站上有适用于Windows Phone的Silverlight。有很棒的Windows Phone Trainng material,不要忘记Windows Phone Develoeprs Blog

答案 4 :(得分:0)

如果您在ASPX页面中使用Silverlight,您可以使用HtmlDocument.Window.Invoke来调用JavaScript函数,该函数可以在页面中调用静态方法(使用WebMethod属性)

article here很好地描述了JS / ASPX桥。

善,

注意:不确定我同意你想要做的事情;只是想帮助你做到这一点:)