admin 管理员组文章数量: 1184232
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;
}
版权声明:本文标题:通过浏览器的超链接打开本地一个exe文件(即可以传参数) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1768020809a3526843.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论