通过浏览器的超链接打开本地一个exe文件(即可以传参数)
2017-07-18 14:01
585 查看
1、首先需要先写一个注册表文件;
通过txt文本写,写完以后更改后缀名;
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\liexplorer\Shell]
[HKEY_CLASSES_ROOT\liexplorer\Shell\Open]
[HKEY_CLASSES_ROOT\liexplorer\Shell\Open\command]
@="C:\\ArcgisApiDemo\\ArcgisApiDemo\\ArcgisApiDemo\\bin\\Debug\\ArcgisApiDemo.exe(这个地方就是本地exe文件的绝对路径) \"%1\""
2、在html代码中加入<a href="liexplorer:传递的参数值" >名字随便起</a>(红色部分要和上面的注册表蓝色部分一样)
3、在WPF启动程序中设置单利模式启动
创建一个单利模式的类:
class ProgramEntry
{
[STAThread]
public static void Main(string[]
args)(args即就是浏览器传过来的参数)
{
if (args.Length != 0)
{
System.Windows.MessageBox.Show("传的参数:"+ args[0]);
}
var manager = new SingleInstanceManager();
manager.Run(args);
}
}
/// <summary>
/// 单利模式启动程序
/// </summary>
public class SingleInstanceManager : WindowsFormsApplicationBase
{
App _app;
public SingleInstanceManager()
{
this.IsSingleInstance = true;
}
protected override bool OnStartup(StartupEventArgs e)
{
_app = new App();
_app.Run(new MainWindow());
return false;
}
protected override void OnStartupNextInstance(StartupNextInstanceEventArgs eventArgs)
{
base.OnStartupNextInstance(eventArgs);
_app.Activate();
}
}
App.Xaml.cs中:
/// <summary>
/// 程序启动入口
/// 加入异常捕获
/// </summary>
/// <param name="e"></param>
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
}
/// <summary>
/// 程序激活入口
/// </summary>
public void Activate()
{
this.MainWindow.Show();
this.MainWindow.Activate();
this.MainWindow.WindowState = WindowState.Maximized;
}
通过txt文本写,写完以后更改后缀名;
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\liexplorer\Shell]
[HKEY_CLASSES_ROOT\liexplorer\Shell\Open]
[HKEY_CLASSES_ROOT\liexplorer\Shell\Open\command]
@="C:\\ArcgisApiDemo\\ArcgisApiDemo\\ArcgisApiDemo\\bin\\Debug\\ArcgisApiDemo.exe(这个地方就是本地exe文件的绝对路径) \"%1\""
2、在html代码中加入<a href="liexplorer:传递的参数值" >名字随便起</a>(红色部分要和上面的注册表蓝色部分一样)
3、在WPF启动程序中设置单利模式启动
创建一个单利模式的类:
class ProgramEntry
{
[STAThread]
public static void Main(string[]
args)(args即就是浏览器传过来的参数)
{
if (args.Length != 0)
{
System.Windows.MessageBox.Show("传的参数:"+ args[0]);
}
var manager = new SingleInstanceManager();
manager.Run(args);
}
}
/// <summary>
/// 单利模式启动程序
/// </summary>
public class SingleInstanceManager : WindowsFormsApplicationBase
{
App _app;
public SingleInstanceManager()
{
this.IsSingleInstance = true;
}
protected override bool OnStartup(StartupEventArgs e)
{
_app = new App();
_app.Run(new MainWindow());
return false;
}
protected override void OnStartupNextInstance(StartupNextInstanceEventArgs eventArgs)
{
base.OnStartupNextInstance(eventArgs);
_app.Activate();
}
}
App.Xaml.cs中:
/// <summary>
/// 程序启动入口
/// 加入异常捕获
/// </summary>
/// <param name="e"></param>
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
}
/// <summary>
/// 程序激活入口
/// </summary>
public void Activate()
{
this.MainWindow.Show();
this.MainWindow.Activate();
this.MainWindow.WindowState = WindowState.Maximized;
}
相关文章推荐
- 通过谷歌浏览器的超链接打开本地一个exe文件
- 打开浏览器通过JS访问本地EXE(自用)
- 一个.exe文件通过注册表获取另一个.exe最新的版本来打开应用程序
- C#怎么通过一个按钮Button,实现点击这个按钮可以打开一个文件或者文件夹?
- MockServer调试通过,本地通过浏览器可以打开对应web网页
- 通过浏览器超链接调用本地 exe 程序的方法
- html超链接a打开本地文件支持各种浏览器
- 解决:jsp文件用浏览器单独打开可以显示内容,一加到webroot里面就通过服务器访问就出现错误
- 通过Java代码打开浏览器,本地文件目录以及ftp站点
- error C1041: 无法打开程序数据库“xxx\vc140.pdb”;如果要将多个 CL.EXE 写入同一个 .PDB 文件,请使用
- 终于学会了自己定义一个文件扩展名,可以通过iis识别执行的
- 一个进程对一个文件加写锁后,另一个进程对相同的文件仍可以以读的模式打开,但是再次加写锁失败。
- 如何通过超链接打开Activity并传入参数
- delphi 打开文件夹并定位到一个文件(使用ShellExecute时加一个select参数,原来这么简单!)
- 请问C#程序中又激发一个exe文件的api?如打开记事本。
- 编写一个通讯录,功能与以前的诺基亚手机一样,可以通过键盘进行箭头的移动,回车进入选项,用“W”键代表手机手机左键,“backspace”键代表返回上一级。能够实现基本的人性化的增删改查及文件的导入导出
- win8默认使用IE浏览器打开QQ空间,通过如下设置可以更改浏览器
- 一个Download.jsp文件 (采用文件流读写方式。可以防止doc.excl等文件打开时乱码问题)
- C#的winform中的webBrowser用超链接打开本地文件的方法
- 文件上传,带其他非文件参数,返回文件可以访问的本地地址