您可以使用 Silverlight 启动外部进程吗?

发布于 2024-08-27 16:46:36 字数 110 浏览 6 评论 0原文

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

The System.Diagnostics assembly is part of the Silverlight CLR framework, but it only includes classes related to debugging, the Process class is not available. Is there any other way to start an outside process from a Silverlight application?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

笔芯 2024-09-03 16:46:36

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

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

Yes, you can in Silverlight 4 (in out-of-browser with elevated full trust), example:

dynamic cmd = AutomationFactory.CreateObject("WScript.Shell");
cmd.Run("calc.exe", 1, true);
随波逐流 2024-09-03 16:46:36

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

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

应在其自己的进程中启动 Excel。

Using an elevated trust out of browser app (shall we coin ETOOB or OOBET for short) Silverlight 4 application you may be able to start a new app in a new process if it is a COM Automation server. For example:-

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

Should fire up Excel in its own procress.

臻嫒无言 2024-09-03 16:46:36

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

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

两个很棒的示例章节< /a> Windows Phone 和 Silverlight for Windows Phone,位于 LearningWindosPhone.com 站点。有很棒的 Windows 电话培训材料,并且不要忘记 Windows Phone 开发者博客

There is no short answers, but there is a complex one...

If you are runnign SL4 Out-Of-Browser, and you indicated that you are ok running elivated (which really mean SL doesnt run in IE-Protected mode, but rather as standard app...) there is a way for you by using WMI to basically do ANY THING you want to. This blog post will help you - http://justinangel.net/CuttingEdgeSilverlight4ComFeatures .
Just keep in mind, this is high end fancy coding, so watch yourself ;)

There are two great sample chapters on Windows Phone and Silverlight for Windows Phone on the LearningWindosPhone.com site. There is great Windows Phone Trainng material , and dont forget the Windows Phone Develoeprs Blog

姐不稀罕 2024-09-03 16:46:36

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

完全信任的应用程序将能够做到这一点。

为什么要启动另一个进程?

If you are running your application either in the browser or as a standard out of browser application, being able to start another process would break the Silverlight model, allowing your application access to the machine outside the browser sandbox.

A full trust application will be able to do this.

Why do you want to start another process?

|煩躁 2024-09-03 16:46:36

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

。 com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/" rel="nofollow noreferrer">这里的文章很好地描述了 JS/ASPX 桥。

善良,

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

If you are using Silverlight inside an ASPX page you could use HtmlDocument.Window.Invoke to call a JavaScript function which could in turn call a static method within your page (using WebMethod attribute)

The article here describes the JS/ASPX bridge well.

Kindness,

Dan

NB: Not sure I agree with what you are trying to do; just want to help you do it :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文