2010-05-06 7 views
5

Tôi cần khởi chạy ứng dụng Silverlight 4 OOB thông qua ứng dụng WinForms hiện có (sử dụng System.Diagnostics.Process để thực thi sllauncher.exe). Tôi đã hy vọng sẽ có một số cách để làm cho sllauncher.exe chấp nhận và truyền vào dòng lệnh args cho ứng dụng OOB, nhưng tôi không thể tìm ra.Vượt qua đối số dòng lệnh cho ứng dụng OOB Silverlight 4

Trả lời

4

Không có API do Silverlight cung cấp để truy cập vào các đối số dòng lệnh.

Đây là nơi WPF (và có thể nhấp một lần) sẽ là một lựa chọn tốt hơn.

Hoặc xem xét việc lưu trữ "dữ liệu" cần thiết để được chuyển vào tệp cục bộ có thể truy cập bằng ứng dụng Silverlight khi khởi động.

0

yah có thể của nó trong Silverlight

dynamic cmd=AutomationFactory.CreateObject("Shell.Application"); 
cmd.ShellExecute(@path_of_ur_exe,null,null,null,1); 
1

Bạn có thể làm việc này bằng cách đi qua một URL để sllauncher.exe 's /origin tham số, ví dụ .:

sllauncher.exe /overwrite /emulate:c:\temp\Hello.xap /origin:c:\temp\Hello.xap?key=value.

Trong mã Silverlight, bạn có thể truy cập vào các giá trị của tham số /origin qua

Application.Current.Host.Source.OriginalString 
// file:///C:/temp/Hello.xap%3Fkey=value 

(MSDN: http://msdn.microsoft.com/en-us/library/system.windows.interop.silverlighthost.source(v=vs.96).aspx)

Thật không may, bởi vì URI là một URI file:///, các tham số truy vấn không được lưu trữ trong Source.QueryString. Điều này cũng có thể tạo cơ hội, tuy nhiên, để "lạm dụng" - kinh nghiệm hạn chế của tôi là sllauncher sẽ bắt đầu nếu những gì được chuyển đến /originphần nào trông giống như một đường dẫn hoặc URI.