以下 F:/Debug/xx.exe 为客户端路径。
js 函数调用如下:
var a=new ActiveXObject("Wscript.Shell");
a.exec("F:/Debug/xx.exe params");(格式是:exe 应用程序+空格+入参)
注意:使用如下的调用方式,需要将浏览器自定义安全设置→可以运行未安全认证的插件启用。
将以下内容复制到记事本,然后另保存为 bat 格式的文件,保存时编码类型选择 ANSI
(防止注册表信息包含汉字时出现乱码).
管理员权限执行保存后的 bat 文件.
(若执行过程出现拒绝访问,请进入注册表为当前用户添加完全控制权限,并重启电脑)。
reg delete HKCR\yunxing /f
reg add HKCR\yunxing /T reg_sz /d "yunxing Protocal"
reg add HKCR\yunxing /v "URL Protocol" /t reg_sz /d ""
reg add HKCR\yunxing\DefaultIcon /t reg_sz /d "F:\Debug\xx.exe"
reg add HKCR\yunxing\shell\open\command /t reg_sz /d "F:\Debug\xx.exe \"%%1\""
pause
<a href="yunxing:params"> 点击 </a>
href 里面的内容格式是:格式头(y
unxing:)+入参,如:exe 应用程序+空格+高点名称+用户名+空格+用户密码。
/// <summary>
/// 启动方法
/// </summary>
/// <param name="e"></param>
protected override void OnStartup(StartupEventArgs e)
{
if (e.Args != null && e.Args.Length >= 1)
{
string[] newargs;
// 谷歌浏览器使用URL Protocol时会自己url编码并且只会传入一个参数,需要把:及:前的去掉然后以空格进行分割得到参数数组
string inputArgStr = System.Web.HttpUtility.UrlDecode(e.Args[0].ToString());
if (inputArgStr.Contains(":"))
{
newargs= inputArgStr.Split(':')[1].Split(' ');
}
else
{
newargs = e.Args;
}
}
}
手机扫一扫
移动阅读更方便
你可能感兴趣的文章