在网页上启动你的应用程序
2010-11-09 15:31
288 查看
现在有一些程序是B/S和C/S混合的,在winform里也可以方便的嵌入web,vs2003和vs2005都提供了这样的控件。
而还有一种需求,在web上启动你的winform程序,比较常见的是qq,下载工具等。
笨一点的做法,是通过客户端js来启动。这样做有安全隐患,因此window后面版本的操作系统,严格限制了js的权限。
研究qq的实现方式,发现非常简单。看下面的注册文件:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Test]
@="Test"
"URL Protocol"="应用程序路径%l"
[HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Test/DefaultIcon]
@="%SystemRoot%//system32//url.dll,0"
[HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Test/Shell]
[HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Test/Shell/open]
[HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Test/Shell/open/command]
@="应用程序路径 %l"
你可以直接将它保存为一个reg文件然后注册,或者在你的应用程序安装时直接修改注册表。
在你的网页上加一个这样的链接:
<A href='Test://para1¶2¶3'>
如果你点这个链接,你在注册文件里的应用程序就可以被启动了。
还有一个需求,一般从网页启动应用需要传递参数(上面链接后面带了三个参数),做法如下:
你的应用程序主函数要这样接收参数:
static void Main(string[] args)
{
if(args.Length>0)
{
//存参数
}
}
通过args[index]就可以访问到你传递的参数了。
而还有一种需求,在web上启动你的winform程序,比较常见的是qq,下载工具等。
笨一点的做法,是通过客户端js来启动。这样做有安全隐患,因此window后面版本的操作系统,严格限制了js的权限。
研究qq的实现方式,发现非常简单。看下面的注册文件:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Test]
@="Test"
"URL Protocol"="应用程序路径%l"
[HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Test/DefaultIcon]
@="%SystemRoot%//system32//url.dll,0"
[HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Test/Shell]
[HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Test/Shell/open]
[HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Test/Shell/open/command]
@="应用程序路径 %l"
你可以直接将它保存为一个reg文件然后注册,或者在你的应用程序安装时直接修改注册表。
在你的网页上加一个这样的链接:
<A href='Test://para1¶2¶3'>
如果你点这个链接,你在注册文件里的应用程序就可以被启动了。
还有一个需求,一般从网页启动应用需要传递参数(上面链接后面带了三个参数),做法如下:
你的应用程序主函数要这样接收参数:
static void Main(string[] args)
{
if(args.Length>0)
{
//存参数
}
}
通过args[index]就可以访问到你传递的参数了。
相关文章推荐
- 在网页上启动你的应用程序
- 通过网页启动应用程序
- 在网页上启动你的应用程序
- 在网页上启动你的应用程序
- JAVA自定义协议实现网页启动应用程序
- C++ mfc学习之路二 网页按钮启动应用程序
- 网页中启动客户端winForm应用程序
- windows 在网页上启动本地应用程序
- chrome里打开IE?网页里启动本地应用程序?
- 网页按钮启动应用程序
- 在网页上启动你的应用程序
- 网页启动SL应用程序 OOB
- 如何点击网页上的某个链接,达到启动本机应用程序的目的。
- 如何通过网页启动应用程序
- 通过自定义URL协议在Web网页中启动本地应用程序
- IOS 应用程序启动加载过程(从点击图标到界面显示)
- 不让自己的应用程序在桌面的图标列表里启动显示的方法
- iOS应用程序生命周期&启动周期函数
- Spark学习之3:SparkSubmit启动应用程序主类过程