zoukankan      html  css  js  c++  java
  • Silverlight调用本机exe程序

    要点:

    1. Silverlight必须启用OOB模式,以及 Require elevated trust when running in-browser.参考下图设置

    注:OOB模式,并不意味着必须脱离浏览器运行,仍然可以嵌入到网面中运行

    2. 必须添加Microsoft.CSharp.dll 引用,默认在目录 c:Program FilesMicrosoft SDKsSilverlightv5.0LibrariesClient 下

    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:execpu-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聊天工具。当然,不止这一种场景,其它场景请自行脑补:)

  • 相关阅读:
    alias这个命令还是很有用的
    为什么不推荐用破解版的winrar
    chrome headless
    关于PDF的一些书籍
    PDF的一些工具
    3DPDF是个什么东西?
    你可能不知道的pdf的功能
    为什么一些公司把dwg文件转化为pdf
    关于pdf阅读器的选择
    接外包怎么保护自己的作品
  • 原文地址:https://www.cnblogs.com/yjmyzz/p/how-to-call-exe-program-through-silverlight.html
Copyright © 2011-2022 走看看