Silverlight调用本机exe程序
要点:
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路径,不允许出现空格
下面是使用示例:
using System;
using System.Runtime.InteropServices.Automation;
using System.Windows;
using System.Windows.Controls; namespace SLTrustSample
{
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
} private void CallExe(String exeFilePath)
{
try
{
dynamic cmd = AutomationFactory.CreateObject("WScript.Shell");
cmd.Run(exeFilePath, , true);
}
catch (Exception ex)
{
MessageBox.Show("权限不足,请再OOB模式下运行,详细原因:" + ex.Message);
return;
}
} private void LaunchMyApp(object sender, RoutedEventArgs e)
{
CallExe(@"C:\exe\cpu-monitor.exe");
} private void LaunchNotepad(object sender, RoutedEventArgs e)
{
CallExe(@"notepad c:\\test.txt");
}
}
}
除调用本机exe外,其实还能干很多其它事情,比如读取Windows注册表,调用本机Com组件完成指定的功能...
使用场景:比如最常见的IM聊天工具,浏览网页后,在网页上点击“与我聊天”按钮,启动本机客户端的IM聊天工具。当然,不止这一种场景,其它场景请自行脑补:)
Silverlight调用本机exe程序的更多相关文章
- .net 代码调用cmd执行.exe程序,获取控制台输出信息
使用.net core 对老项目升级, .net core 使用TripleDES.Create() 加密众iv字节限制 与 framework中的不同, 新项目还需要兼容老项目版本,还不想通过web ...
- C#中调用Windows系统服务exe程序的工具类与重启服务的流程
场景 使用C#编写的Windows服务程序,在Winform中进行调用. 常用工具类方法检测服务是否存在或者安装,获取服务状态,启动服务,停止服务的方法. 以在Winform中重启服务为例. 注: 博 ...
- (转)js activexobject调用客户机exe文件
原文地址:http://blog.csdn.net/jiafugui/article/details/5364210 function Run(strPath) { try { var objShel ...
- 在C#中调用另一个应用程序或命令行(.exe 带参数)<zz>
在.net中使用system.diaglostics.Process可以用来调用另一个命令行或程序. using System.Diagnostics; 如果是dos Proces ...
- PHP 网页调用本地exe程序实例
一.需求:在做网站的时候,有些网站网页面需要调用本地的exe程序. 二.方法:利用注册URL Protocol的方式. 代码如下: 1.视图文件里面的代码: <a href="fyex ...
- java: Runtime和Process调用本机程序
java: Runtime和Process调用本机程序 调用纸牌程序,Process用来销毁程序 import java.io.IOException; public class RunTimeDem ...
- windows下调用外部exe程序 SHELLEXECUTEINFO
本文主要介绍两种在windows下调用外部exe程序的方法: 1.使用SHELLEXECUTEINFO 和 ShellExecuteEx SHELLEXECUTEINFO 结构体的定义如下: type ...
- Asp.Net 之 通过调用 WScript.Shell 启动本地 exe 程序时产生“ automation服务器不能创建对象 ”的错误
我们经常需要通过生成 ActiveXObject("WScript.Shell"); 来调用某一exe文件. 设置网页打印的页眉页脚为空: var HKEY_Root,HKEY_P ...
- c# 调用外部exe程序
c#调用外部exe程序,首先要 using System.Diagnostics; 然后开启一个新process System.Diagnostics.ProcessStartInfo p=null; ...
随机推荐
- win7---远程桌面相关的服务
如果对方连接不到你,请将服务设置为自动,并重启电脑.
- Eclipse下使用SVN版本控制
作者:朱先忠编译 转自天极[url]http://dev.yesky.com/356/2578856.shtml[/url] 简单介绍一些基本操作1.同步在Eclipse下,右击你要同步的工程-tea ...
- CMPP错误码说明
与中国移动代码的对应关系. MI::zzzzSMSC返回状态报告的状态值为EXPIREDMJ:zzzzSMSC返回状态报告的状态值为DELETEDMK:zzzzSMSC返回状态报告的状态值为UNDEL ...
- Toritoisegit记住用户名密码
TortoiseGit每次连接git都得输入密码了,如果我们用到的比较频繁这样是很麻烦的,那么下面我们来看一篇关于window设置TortoiseGit连接git不用每次输入用户名和密码的配置,具体的 ...
- android The public type classname must be defined in its own file 报错
The public type classname must be defined in its own file classname 为类名 错误提示,公用的类必髯有自己拥有独立.java文件 解 ...
- android EditText光标位置(定位到最后)
方法:edittext.setSelection(int); et.setText(content);//设置EditText控件的内容et.setSelection(content.length() ...
- android 动态设置Framelayout,view,imageView,Layout高度
直接:测试可以 Framelayout.getLayoutParams().width=600;Framelayout.getLayoutParams().height=400; 如:view,ima ...
- uva 6757 Cup of Cowards(中途相遇法,貌似)
uva 6757 Cup of CowardsCup of Cowards (CoC) is a role playing game that has 5 different characters (M ...
- windows文件关联、打开方式列表之修改注册表攻略
这里全是修改注册表的方式.网上找了半天,有的仅有添加文件关联的方法,却没有添加到打开方式列表里面的方法:有的有添加到文件列表的方法,却是使 用控制面板->文件夹选项的.好难得才找齐所有,从添加文 ...
- 2016-2017 CT S03E07: Codeforces Trainings Season 3 Episode 7 - HackerEarth Problems Compilation
B: 思路: 暴力,每两个判断一下; C: 思路: 容斥定理,先枚举脖子下面那个点和那个不可描述的点,算出所有的方案数,这里面有多的腿当成了脖子或者胳膊的,然后就再枚举这种情况把这些减去,又减多了; ...