Die System.Diagnostics-Assembly ist Teil des Silverlight CLR-Frameworks, enthält jedoch nur Klassen zum Debuggen, die Process-Klasse ist nicht verfügbar. Gibt es eine andere Möglichkeit, einen externen Prozess von einer Silverlight-Anwendung aus zu starten?Können Sie einen externen Prozess mit Silverlight starten?
Antwort
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);
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?
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
@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
Zum Beispiel, wenn ich die auf dem Client-Stream aufgezeichneten Daten zuvor verschlüsseln muss, um sie auf dem Server zu senden. –
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 :)
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.
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
- 1. Starten Sie einen externen Prozess auf dem Mac mit C#
- 2. Starten Sie einen Prozess mit einem Namen
- 3. Starten Sie einen Prozess [exe] in Windows
- 4. Starten Sie einen neuen Prozess und Killing den aktuellen Prozess
- 5. Kann Go spawnen und mit externen Prozessen kommunizieren, ohne einen OS-Thread pro externen Prozess zu starten?
- 6. Starten Sie einen Prozess im Hintergrund in Linux mit C
- 7. Wie pausieren/fortsetzen Sie einen externen Prozess unter Windows?
- 8. Können Sie ein Direct3D-Fenster für einen Prozess in einen anderen Prozess 'HWND rendern?
- 9. Kann Matlab einen externen Prozess optimieren?
- 10. starten Sie einen Prozess aus einer MySQL-Zeile einfügen
- 11. So starten Sie einen Prozess als Administratormodus in C#
- 12. Starten Sie einen Dienst in einem separaten Prozess Android
- 13. So starten Sie den Prozess ohne Administratorrechte
- 14. Starten Sie den Prozess aus dem Stream
- 15. php externen Prozess ausführen läßt Skript hängen
- 16. Starten Sie den Prozess von der Flasche
- 17. Fortschrittsanzeige im komplizierten Silverlight-Prozess
- 18. Starten Sie den Prozess als untergeordneten Prozess zu Service
- 19. Starten Sie einen Prozess als Benutzer aus einem Prozess, der als Administrator ausgeführt wird
- 20. Können Sie ** jede ** Handy-App über einen Weblink starten?
- 21. Einen .Net-Prozess als einen anderen Benutzer starten
- 22. Starten Sie einen Prozess mit Python und holen Sie sich die PID (Linux)
- 23. Starten Sie einen Ordner kopieren und Skript mit PowerShell
- 24. Starten Sie einen Prozess als einen bestimmten Benutzer aus einem verwalteten WCF-Dienst unter LocalSystem
- 25. Starten Sie den Prozess, verstecken Sie Argumente von ps
- 26. Neuen Prozess auf Nodejs starten
- 27. QProcess starten Prozess (blender.exe) mit mehreren Argumenten
- 28. Starten einer externen Anwendung über meine App
- 29. Wie Prozess mit Admin-Recht starten C#
- 30. Können Sie HtmlDecode & HtmlEncode in Silverlight tun?
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 –