您的位置:首页 > 其它

通过浏览器的超链接打开本地一个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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  l
相关文章推荐