您的位置:首页精文荟萃软件资讯 → ASP 连接执行程序

ASP 连接执行程序

时间:2004/10/7 19:09:00来源:本站整理作者:蓝点我要评论(0)


            
             
              
             
            

               
               

            



            一、需求
当前,使用ASP开发动态网页,客户端使用微软公司的IE系列浏览器查看是一种很流行的模式。我们在开发过程中遇到了这样的一个问题,由于技术和时间上的限制,必须在网页中调用一个执行程序。你当然可以用一个超级链接直接指向所需的程序,但这样做会被微软“黑”一下的:每次在IE中打开这个链接时就会出现一个不受欢迎的警告框(当然,它有它的道理,主要是出于安全方面的考虑),这对用户来说是很能接受的。能不能用一个很方便、简洁的方法来解决这个问题呢?
经过一番研究,出台了一个被称为“李代桃僵”的方法:
l 在系统中创建一种特定的文件类型,如:*.spa;
2 将该类型的文件与要在ASP中执行的程序关联起来;
3 超级链接指向一个设定的扩展名是“spa”的文件。
这种做法的原理是:在IE中通过超级链接打开一个文件时,如果浏览器自身能解释该类型的文件,文件的内容直接显示在浏览器中,如文本文件,否则就搜索注册表中设置,找出处理这种类型文件的程序,然后调用相应的程序打开该文件。
二、方法
具体的实现方法为手工和自动两种方式,如下所示:
(一)、手工设置
l 打开资源管理器,如图1所示,点击[查看]菜单中的[文件夹选项]菜单,系统显示[文件夹选项]对话框,如图2 所示,其中有[文件类型]页;

注意:须选中某个文件或文件夹,如果选中提[打印机]或[控制面板]等该对话框没有这一页

2 点击[新建类型(N)…]按钮,打开[添加新文件类型]对话框,如图3所示。在[类型说明]文本框中输入“ASP关联”,在[相关扩展名]文本框中输入“.spa”;(注:[内容类型]是用做选择已经安装的程序关联某种类型的文件,该框不填)

3 打开”,点击[浏览(R)…]按钮,在对话框中选择要在ASP中调用的程序。

4 点击每个对话框的[确定]的按钮即可完成;

特别注意:如图3所示的[添加新文件类型]对话框的下方面有一个[下载后确认打开]选项。该选项在默认状态下是被选中的,这种情况下,在网页中初次打开“.spa”类型的文件时,系统会给出提示框询问是否继始终用某个程序打开该类型的文件。如果连这个框也不想出,则须将[下载后确认打开]选项置于非选中状态

设置完成后,超级链接指向一个文件,如a.spa,再点击一次,你就会看到你需要的程序不讲任何条件就运行起来了!
自动设置
很显然,系统编制完成交到用户手中时,如果还要求用户做上述设置是不现实的,软件的生存能力会大打折扣,因为没有几个人会愿意听扩展名和注册表的。那么就必须让述的工作自动完成。
在手工设置的程序与文件关联后,所有相关的信息都存在了注册表中,因此只要在注册表中写入相同的内容即可实现关联可执行程序的功能。在注册表中写入一些信息对现有的编程软件来说是一件比较简单的事情,象VB和Delphi都提供了完整的存取注册表内容的的函数,另外打包工具通常也是提供写注册表的功能的。那么如何在注册表中找到对应的信息呢。该当方法如下:
l 打开注册表编辑器(点击开始菜单中的运行,在文件框中输入“regedit”,回车);
2 点击注册表编辑器中的[编辑]菜单中的[查找]菜单项,在[查找目标]文本框中输入“.spa”,然后开始查找,很快就会找到一个名叫“.spa”的主键,它有一个默认的字符串值“spafile”。点击[注册表]菜单中的[导出注册表文件],将该主键的设置导出到一个文件中,如“spa1.reg”;
4 再次使用[编辑]菜单中的[查找]菜单项,在[查找目标]文本框中输入“spafile”,然后开始查找,很快就会找到一个名叫“spafile”的主键,它有“Shell”等子键,采用上一步同样的方法,将该主键的设置导出到一个文件中,如“spa2.reg”
现在只需打开这两个文件,参照其中的设置写几行程序,工作就完成了!

3.附两个注册表文件的内容
l spa1.reg
[HKEY_CLASSES_ROOT\.spa]
@="spafile"
注:“@”是默认的意思

l spa2.reg
[HKEY_CLASSES_ROOT\spafile]
@="ASP关联"
"EditFlags"=hex:00,00,01,00

[HKEY_CLASSES_ROOT\spafile\Shell]
@=""

[HKEY_CLASSES_ROOT\spafile\Shell\open]
"EditFlags"=hex:01,00,00,00

[HKEY_CLASSES_ROOT\spafile\Shell\open\command]
@="C:\\WINDOWS\\Notepad.exe %1"

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 360快剪辑怎么使用 36金山词霸如何屏幕取词百度收购PPS已敲定!3

最新文章 微信3.6.0测试版更新了微信支付漏洞会造成哪 360快剪辑怎么使用 360快剪辑软件使用方法介酷骑单车是什么 酷骑单车有什么用Apple pay与支付宝有什么区别 Apple pay与贝贝特卖是正品吗 贝贝特卖网可靠吗

人气排行 xp系统停止服务怎么办?xp系统升级win7系统方电脑闹钟怎么设置 win7电脑闹钟怎么设置office2013安装教程图解:手把手教你安装与qq影音闪退怎么办 QQ影音闪退解决方法VeryCD镜像网站逐个数,电驴资料库全集同步推是什么?同步推使用方法介绍QQ2012什么时候出 最新版下载EDiary——一款好用的电子日记本