要点:

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

Silverlight调用本机exe程序相关推荐

  1. C#中调用Windows系统服务exe程序的工具类与重启服务的流程

    场景 使用C#编写的Windows服务程序,在Winform中进行调用. 常用工具类方法检测服务是否存在或者安装,获取服务状态,启动服务,停止服务的方法. 以在Winform中重启服务为例. 注: 博 ...

  2. PHP 网页调用本地exe程序实例

    一.需求:在做网站的时候,有些网站网页面需要调用本地的exe程序. 二.方法:利用注册URL Protocol的方式. 代码如下: 1.视图文件里面的代码: <a href="fyex ...

  3. Python程序使用os.system()方法调用exe程序导致主程序进程无响应

    现象:在python进程中使用os.system()调用外部的exe程序,导致主进程阻塞 解决方法: subprocess.Popen("***.exe") 使用subproces ...

  4. jsp页面如何调用本机的应用程序?例如c:/netterm.exe?

    对不起,我的本意是这样:客户机执行客户机上的程序.Runtime.getRuntime().exec("c:/netterm.exe");写在jsp中在客户端执行,只能启动服务器上 ...

  5. jsp页面如何调用本机的应用程序?例如c:/netterm.exe?(转载)

    对不起,我的本意是这样:客户机执行客户机上的程序.Runtime.getRuntime().exec("c:/netterm.exe");写在jsp中在客户端执行,只能启动服务器上 ...

  6. java调用exe_Windows系统中Java调用cmd命令及执行exe程序的方法

    Java调用cmd命令,并输出显示信息: package com.anxin.cmd.test; import java.io.BufferedReader; import java.io.Input ...

  7. Java调用python打包的程序.exe,包括获取exec()中打印的日志,亲测有效

    python写了一个方法,windows平台上怎么被Java服务调用呢? 最简单的办法,python利用pyinstaller打包成.exe程序,Java程序通过Process调用,想同时获取.exe ...

  8. Asp.Net 之 通过调用 WScript.Shell 启动本地 exe 程序时产生“ automation服务器不能创建对象 ”的错误...

    我们经常需要通过生成 ActiveXObject("WScript.Shell"); 来调用某一exe文件. 设置网页打印的页眉页脚为空: var HKEY_Root,HKEY_P ...

  9. JS中调用本地exe程序

    场景 在网页中通过js调用Windows上本地的exe程序, 比如在浏览器中点击调用某播放器的exe程序. url protocol 的方式来实现.用这种方式实现,任何浏览器都兼容, 不会存在只有IE ...

最新文章

  1. 用AI帮你找工作,领英是如何做的?
  2. 梯度下降原理及Python实现
  3. kickstart自动化安装
  4. 计算机网络部分(共44题),2018年10月自考04741计算机网络原理试卷及答案
  5. opencv for linux mac,opencv for Java在MacOS 10.10安装
  6. mysql 删除重复数据_MySQL查找和删除重复数据
  7. 在AWS控制台里创建key Pair
  8. 你缺啥,你缺一个得力的办公软件
  9. Android Handler处理机制 ( 三 ) ——Handler,Message,Looper,MessageQueue
  10. perl 如何判断变量为空
  11. 学习Python编程培训 有哪些爬虫技术课程需要掌握
  12. CodeForces Round #295 Div.2
  13. 2022年流行的Java框架有哪些?
  14. idm由于法律原因无法下载怎么办?
  15. 豌豆荚Hack Day:百宝袋负责人访谈
  16. 怎么做拼多多活动|成都百择
  17. IDEA怎么查看现在的项目使用的JDK版本?
  18. MATLAB Handle类的set和get方法
  19. 博客大巴发布模块,如何使用?
  20. 对千变万化数据的处理 12work

热门文章

  1. sybase数据库导出mysql_sybase导出数据库的表结构命令
  2. arduino与java,Arduino具有与Java和C语言类似的IDE集成开发环境和图形化编程环境
  3. python查题_python 数据库连表查询习题
  4. android 获取活动栈,活动的生命周期系列(1)返回栈
  5. 东软信息学院java试题,东软Java笔试题答案
  6. FPGA之道(82)功能仿真之仿真原理
  7. dubbo部分常见的面试题目
  8. JavaScript系列-(原型-原型连-call-apply-继承)
  9. 泛函编程(19)-泛函库设计-Parallelism In Action
  10. 斯坦福NLP笔记72 —— The Inverted Index