通过JS启动客户端应用程序以及自定义程序
2012-01-06 20:10
302 查看
最近公司要求做一个和BS结合的CS截屏程序,主要功能是通过BS的超链接启动客户端的应用程序。针对于像QQ、Word等,很简单即可启动,可是当启动我自己做的程序的时候,总是碰到找不到路径路径问题,
在网上搜索了诸多材料,也找到不少回答,在此进行整理。
1,首先就是BS利用js控制本地已注册的应用程序的启动
//控制启动QQ的js
functionRunQQ()
{
varQQ=newActiveXObject("WScript.Shell");
//QQ.exec("D:\\ProgramFiles\\Tencent\\QQ\\Bin\\QQ.exe");也可以启动应用程序
QQ.run("QQ.exe");
QQ=null;
returnfalse;
}
<%--启动QQ的HTML按钮--%>
<inputid="btn_QQ"type="button"value="启动QQ"onclick="RunQQ()"/>
这样运行时,可能会提示加载控件,可以这样解决:
选择IE浏览器上工具----Internet选项---高级----允许活动内容在我的计算机上的文件中运行*(启用)
2,当客户端BS利用js控制用户自定义的应用程序的启动
要启动用户自己定义的应用程序,首先要在安装程序的时候修改注册表。
c#如何写注册表?
此处是exe文件路径是用户自定义应用程序的exe路径。
这段代码是在注册表HKEY_CLASSES_ROOT下新建vip的键
结构是这样的
HKEY_CLASSES_ROOT
vip
(Default)="URL:vipProtocol"
URLProtocol=""
DefaultIcon
(Default)="c:\somepath\APPTest.exe"
shell
open
command
(Default)="c:\somepath\APPTest.exe""%1"
这样利用
<ahref="vip:123-MonacoGP-19279-Senna">拍照</a>
这个协议即可打开应用程序。
当然在用户自定义程序必须接受这个vip传过来的值
EXE应用程序启动的时候接收链接传过来的123-MonacoGP-19279-Senna字符串,你可以在winform启动的时候捕获这个值
在网上搜索了诸多材料,也找到不少回答,在此进行整理。
1,首先就是BS利用js控制本地已注册的应用程序的启动
选择IE浏览器上工具----Internet选项---高级----允许活动内容在我的计算机上的文件中运行*(启用)
2,当客户端BS利用js控制用户自定义的应用程序的启动
要启动用户自己定义的应用程序,首先要在安装程序的时候修改注册表。
c#如何写注册表?
//写注册表 RegistryKeykey=Registry.ClassesRoot.CreateSubKey("vip"); key.SetValue("","URL:vipProtocol"); key.SetValue("URLProtocol",""); RegistryKeySubkey=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:vipProtocol"
URLProtocol=""
DefaultIcon
(Default)="c:\somepath\APPTest.exe"
shell
open
command
(Default)="c:\somepath\APPTest.exe""%1"
这样利用
<ahref="vip:123-MonacoGP-19279-Senna">拍照</a>
这个协议即可打开应用程序。
当然在用户自定义程序必须接受这个vip传过来的值
EXE应用程序启动的时候接收链接传过来的123-MonacoGP-19279-Senna字符串,你可以在winform启动的时候捕获这个值
[STAThread] staticvoidMain(string[]args) { if(args.Length>0) { //arg[0]就是刚刚链接传过来的 //赋值=arg[0]; } Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(newForm1()); }
参考:http://hi.baidu.com/xsunday/blog/item/f72634fa5420859459ee908f.html
相关文章推荐
- 通过JS启动客户端应用程序以及自定义程序
- 在ClickOnce应用程序中,通过双击文档启动程序并打开文档
- Google chrome浏览器中通过扩展调用本地应用程序以及和程序相互通讯(C++)
- 通过jsp获取客户端的IP以及通过js检测浏览器类型
- Tomcat 通过java程序启动和停止,以及解决The CATALINA_HOME environment variable is not defined correctlyThis environ
- Html5嵌入app后通过JS和ios以及android客户端交互
- 通过自定义URL协议在Web中启动本地应用程序
- 通过一个简单的例子看服务端的启动过程以及客户端与服务端的连接过程(Netty 4.0.18)
- 通过自定义URL协议在Web中启动本地应用程序
- 如何通过js来打开客户端的应用程序
- 通过自定义文件启动程序并读取
- 如何通过js来打开客户端的应用程序
- 通过js来打开客户端的应用程序
- 通过自定义URL协议在Web中启动本地应用程序
- vs2010c++boost编写客户端,编译通过,启动就报应用程序无法启动(0xc000007b)
- 通过自定义URL协议在Web中启动本地应用程序
- wince 5.0,eVC 4.0通过应用程序启动控制面板的小程序
- Js调用exe程序方法(通过URL Protocol实现网页调用本地应用程序)
- 【转】 通过自定义协议在BS里面启动CS程序
- 通过自定义协议在B/S程序中启动C/S程序