文章出處

要點:

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聊天工具。當然,不止這一種場景,其它場景請自行腦補:)


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()