通过浏览器的超链接打开本地一个exe文件(即可以传参数)

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;
        }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值