2010-04-06 7 views

Antwort

9

Ja, Sie können in Silverlight 4 (in Out-of-Browser mit erweiterten volles Vertrauen), Beispiel:

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

In Silverlight 5 können Sie mit Silverlight 5 RC-Platform Invocation viel mehr Dinge realisieren. http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2011/09/05/silverlight-5-rc-platform-invocation.aspx –

2

Wenn Sie Ihre Anwendung entweder im Browser oder als Standard außerhalb der Browser-Anwendung ausführen, würde das Starten eines anderen Prozesses das Silverlight-Modell beschädigen und Ihrer Anwendung Zugriff auf den Computer außerhalb der Browser-Sandbox ermöglichen.

Eine vollständige vertrauenswürdige Anwendung wird dazu in der Lage sein.

Warum möchten Sie einen anderen Prozess starten?

+0

Dies könnte nützlich sein, wenn Sie Wenn Sie Ihre App aus dem Browser starten und etwas auf dem Client starten möchten, stelle ich mir vor, dass der Benutzer die Erlaubnis erteilen muss, eine Aktion wie diese auszuführen. – Crackerjack

+0

@Crackerjack - Aus Browser-Anwendungen sind immer noch sandboxed (von dem, was ich gelesen habe), möglicherweise können Sie dies mit voller Vertrauen Anwendungen in SL4 tun - aber ich habe diesen Aspekt noch nicht angeschaut. – ChrisF

+0

Zum Beispiel, wenn ich die auf dem Client-Stream aufgezeichneten Daten zuvor verschlüsseln muss, um sie auf dem Server zu senden. –

0

Wenn Sie Silverlight innerhalb einer ASPX-Seite verwenden, könnten Sie HtmlDocument.Window.Invoke verwenden, um eine JavaScript-Funktion aufrufen, die wiederum eine statische Methode innerhalb Ihrer Seite (mit WebMethod Attribut)

Die article here beschreibt nennen könnte die JS/ASPX-Brücke gut.

Güte,

Dan

NB: Nicht sicher, ob ich einverstanden mit dem, was Sie zu tun versuchen; Ich möchte nur helfen, es zu tun :)

2

Mit einem erhöhten Vertrauen aus der Browser-App (sollen wir ETOOB oder OOBET kurz prägen) Silverlight 4-Anwendung können Sie eine neue App in einem neuen Prozess starten, wenn es ist ein COM-Automatisierungsserver. Zum Beispiel: -

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

Sollte Excel in seinem eigenen Verfahren auslösen.

2

Es gibt keine kurzen Antworten, aber es ist ein komplexer ...

Wenn Sie runnign SL4 Out-Of-Browser, und Sie angegeben, dass Sie ok Laufen sind elivated (was wirklich SL doesnt laufen bedeuten im IE-Protected-Modus, sondern eher als Standard-App ...) gibt es eine Möglichkeit für Sie, mit WMI tun, was Sie wollen. Dieser Blogbeitrag wird Ihnen helfen - http://justinangel.net/CuttingEdgeSilverlight4ComFeatures. Denken Sie daran, diese High-End-Phantasie-Codierung ist, so sehen sich;)

Es two great sample chapters auf Windows Phone und Silverlight für Windows Phone auf dem LearningWindosPhone.com Website. Es gibt große Windows-Phone Trainng material, und vergessen Sie nicht die Windows Phone Develoeprs Blog

Verwandte Themen