文章出處
文章列表
要點:
1. Silverlight必須啟用OOB模式,以及 Require elevated trust when running in-browser.參考下圖設置
注:OOB模式,并不意味著必須脫離瀏覽器運行,仍然可以嵌入到網面中運行
2. 必須添加Microsoft.CSharp.dll 引用,默認在目錄 c:\Program Files\Microsoft SDKs\Silverlight\v5.0\Libraries\Client\ 下
3. 調用的exe路徑,不允許出現空格
下面是使用示例:
1 using System; 2 using System.Runtime.InteropServices.Automation; 3 using System.Windows; 4 using System.Windows.Controls; 5 6 namespace SLTrustSample 7 { 8 public partial class MainPage : UserControl 9 { 10 public MainPage() 11 { 12 InitializeComponent(); 13 } 14 15 private void CallExe(String exeFilePath) 16 { 17 try 18 { 19 dynamic cmd = AutomationFactory.CreateObject("WScript.Shell"); 20 cmd.Run(exeFilePath, 1, true); 21 } 22 catch (Exception ex) 23 { 24 MessageBox.Show("權限不足,請再OOB模式下運行,詳細原因:" + ex.Message); 25 return; 26 } 27 } 28 29 30 31 private void LaunchMyApp(object sender, RoutedEventArgs e) 32 { 33 CallExe(@"C:\exe\cpu-monitor.exe"); 34 } 35 36 37 private void LaunchNotepad(object sender, RoutedEventArgs e) 38 { 39 CallExe(@"notepad c:\\test.txt"); 40 } 41 } 42 }
除調用本機exe外,其實還能干很多其它事情,比如讀取Windows注冊表,調用本機Com組件完成指定的功能...
使用場景:比如最常見的IM聊天工具,瀏覽網頁后,在網頁上點擊“與我聊天”按鈕,啟動本機客戶端的IM聊天工具。當然,不止這一種場景,其它場景請自行腦補:)
文章列表
全站熱搜