通过JS启动客户端应用程序以及自定义程序

最近公司要求做一个和BS结合的CS截屏程序,主要功能是通过BS的超链接启动客户端的应用程序。针对于像QQ、Word等,很简单即可启动,可是当启动我自己做的程序的时候,总是碰到找不到路径路径问题,

在网上搜索了诸多材料,也找到不少回答,在此进行整理。

1,首先就是BS利用js控制本地已注册的应用程序的启动

?
1
2
3
4
5
6
7
8
9
10
11
   //控制启动QQ的js
    function RunQQ() 
    {
        var QQ = new ActiveXObject( "WScript.Shell" );
        //QQ.exec("D:\\Program Files\\Tencent\\QQ\\Bin\\QQ.exe");也可以启动应用程序
        QQ.run( "QQ.exe" );
        QQ = null ;
        return false ;
    }
<%--启动QQ的HTML按钮--%>
<input id= "btn_QQ" type= "button" value= "启动QQ" onclick= "RunQQ()" />
?
1
这样运行时,可能会提示加载控件,可以这样解决:

选择  IE浏览器上  工具----Internet选项---高级----允许活动内容在我的计算机上的文件中运行*(启用)

2,当客户端BS利用js控制用户自定义的应用程序的启动

要启动用户自己定义的应用程序,首先要在安装程序的时候修改注册表。

c#如何写注册表?

//写注册表
RegistryKey key = Registry.ClassesRoot.CreateSubKey("vip");
key.SetValue("", "URL:vip Protocol");
key.SetValue("URL Protocol","");
RegistryKey Subkey= key.CreateSubKey("DefaultICon");
Subkey.SetValue("", "exe文件路径");
Subkey = key.CreateSubKey("shell").CreateSubKey("open").CreateSubKey("Command");
Subkey.SetValue("","exe文件路径");

此处是exe文件路径是用户自定义应用程序的exe路径。

这段代码是在 注册表 HKEY_CLASSES_ROOT 下新建vip 的键

结构是这样的

HKEY_CLASSES_ROOT
vip

(Default) = "URL:vip Protocol"
URL Protocol= ""
DefaultIcon
   (Default) = "c:\somepath\APPTest.exe"
shell
open
command

     (Default) = "c:\somepath\APPTest.exe" "%1"

这样利用

<a href="vip:123-MonacoGP-19279-Senna">拍照</a>

这个协议即可打开应用程序。

当然在用户自定义程序必须接受这个vip传过来的值

EXE应用程序启动的时候接收链接传过来的 123-MonacoGP-19279-Senna字符串,你可以在winform 启动的时候捕获这个值

[STAThread]
static void Main(string[] args)
{
if (args.Length > 0)
{
//arg[0]就是刚刚链接传过来的
// 赋值=arg[0];
}
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
参考:http://hi.baidu.com/xsunday/blog/item/f72634fa5420859459ee908f.html
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值