js通过NPAPI调用本地应用程序并传参

最近,忙于寻找解决方案,许久没有更新blog,第一次写与web端交互的windows桌面应用,可谓是焦头烂额,遇到的问题一大把一大把(此时的想法是世界上要是只有IE这一个浏览器,那该是多么的清净,本文仅记录本人的开发中遇到的问题,供其他人学习参考。并不能保证适用所有的情况):
Q1:web页面如何判断当前windows是否已经安装

Q2:web页面怎么给客户端传参
由于最后决定是通过npapi插件 调用本地应用程序,所以问题有更复杂了一些:
1、 web如何调用npapi插件并传递参数。
F:
直接上代码

<embed type="application/npapitestdemoone-plugin" id="pluginId">

<script>
    var embed = document.getElementById('pluginId');


    function TestFun() 
    {
        var rev = 0;
        var param = "node app.js -p55";
        var plugin = document.getElementById("pluginId");
        rev = plugin.TestFun(param);
      //  alert(rev);
    }
</script>

其中的param就是需要传递的参数
document.getElementById(“pluginId”)实例化控件后直接调用控件的方法就行了,是不是很简单;
2、npapi插件接收到参数后,如何将参数传递给应用程序
F:
JS与控件之间的传参是通过控制台来完成的,所以在TestFun()方法内直接通过args[0]来获取页面传递过来的参数
在控件的TestFun()方法接受到参数后 通过CreateProcess(nPath,strBuf,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi) ;方法传递给应用程序,nPath为应用程序路径,strBuf就是需要传递的参数
关于CreateProcess的其他参数的使用请参考:http://blog.csdn.net/xujinming0124/article/details/46800595
3、应用程序怎么接收并使用(解析)npapi插件传过来的参数
CreateProcess方法调用应用程序时传递的参数也是通过控制台传递的。

未完待续。。。。。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值