您的位置:首页网页设计ASP实例 → ASP连接执行程序 

ASP连接执行程序 

时间:2004/11/7 2:56: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" 





* - 本贴最后修改时间:2001-7-10 15:47:39 修改者:运气

* - 修改原因:错误








相关阅读 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是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 迅雷新手完全入门手册 asp下面javascript上传图片限制格式大小方法告诉大家网页弹出窗口应用总结ASP常见错误类型大全asp常见错误分析和解决办法

人气排行 总是弹出visual studio 实时调试器 三种解决SQLSERVER存储过程及调用详解Asp获取真实IP地址ASP中连接Mssql的几种方法一个简单好用的UBB编辑器(含代码)如何用Split将字符串转换为数组并获取数组下ASP防止表单重复提交的办法告诉你免费的简单聊天室源代码