5

既存の WinForms アプリケーション (を使用System.Diagnostics.Processして実行sllauncher.exe) を介して Silverlight 4 OOB アプリを起動する必要があります。コマンド ライン引数を受け入れて OOB アプリケーションに渡す何らかの方法があることを期待していsllauncher.exeましたが、わかりませんでした。

4

3 に答える 3

4

コマンドライン引数にアクセスするための API が Silverlight によって提供されることはありません。

これは、WPF(およびおそらくクリックワンス)がより良いオプションになる場所です。

または、Silverlight アプリケーションの起動時にアクセス可能なローカル ファイルに、渡す必要のある「データ」を格納することを検討してください。

于 2010-05-09T20:41:48.707 に答える
3

sllauncher.exe/originパラメータにURL を渡すことで、これを回避できます。

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

/originSilverlight コードでは、次の方法でパラメーターの値にアクセスできます。

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 )

残念ながら、URI は URI であるためfile:///、クエリ パラメータは に格納されませんSource.QueryString。ただし、これは「悪用」の機会を生み出す可能性もあります-私の限られた経験では、渡されたものがパスまたはURIのように見えるsllauncher場合に開始されます。/origin

于 2013-08-26T06:19:38.087 に答える
0

シルバーライトなら可能です

dynamic cmd=AutomationFactory.CreateObject("Shell.Application");
cmd.ShellExecute(@path_of_ur_exe,null,null,null,1);
于 2011-06-09T16:36:00.533 に答える