Можно ли запустить внешний процесс с Silverlight?

Система. Блок диагностики является частью платформы CLR Silverlight, но это только включает классы, связанные с отладкой, класс Процесса не доступен. Там какой-либо другой путь состоит в том, чтобы запустить внешний процесс с приложения Silverlight?

8
задан Crackerjack 6 April 2010 в 15:32
поделиться

5 ответов

Да, вы можете в Silverlight 4 (вне браузера с повышенным полным доверием), например:

dynamic cmd = AutomationFactory.CreateObject("WScript.Shell");
cmd.Run("calc.exe", 1, true);
9
ответ дан 5 December 2019 в 11:23
поделиться

Если вы запускаете свое приложение в браузере или как стандартное приложение вне браузера, возможность запуска другого процесса нарушит модель Silverlight, что позволит доступ вашего приложения к машине за пределами изолированной программной среды браузера.

Приложение полного доверия сможет это сделать.

Почему вы хотите запустить другой процесс?

2
ответ дан 5 December 2019 в 11:23
поделиться

Коротких ответов нет, но есть сложный ...

Если вы используете SL4 Out-Of-Browser, и вы указали что вы в порядке, запускаете elivated (что на самом деле означает, что SL не работает в режиме IE-Protected, а скорее как стандартное приложение ...), у вас есть способ, используя WMI, делать ЛЮБОЕ ЧТО вы хотите. Это сообщение в блоге поможет вам - http://justinangel.net/CuttingEdgeSilverlight4ComFeatures . Просто имейте в виду, это модное кодирование высокого уровня, так что следите за собой;)

Есть два отличных примера глав о Windows Phone и Silverlight для Windows Phone на сайте LearningWindosPhone.com . Есть отличный материал по обучению Windows Phone , и не забывайте блог разработчиков Windows Phone

2
ответ дан 5 December 2019 в 11:23
поделиться

Если вы используете Silverlight внутри страницы ASPX, вы можете использовать HtmlDocument.Window.Invoke для вызова функции JavaScript, которая, в свою очередь, может вызывать статический метод на вашей странице (с использованием атрибута WebMethod)

Статья здесь хорошо описывает мост JS / ASPX.

Доброта,

Дэн

NB: Не уверен, что я согласен с тем, что вы пытаетесь сделать; просто хочу помочь вам в этом :)

0
ответ дан 5 December 2019 в 11:23
поделиться

Используя приложение Silverlight 4 с повышенным доверием (будем использовать ETOOB или OOBET для краткости), вы можете запустить новое приложение в новый процесс, если это сервер автоматизации COM. Например: -

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

Должен запускать Excel в собственном процессе.

2
ответ дан 5 December 2019 в 11:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: