分享
 
 
 

ASP 连接执行程序

王朝asp·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

一、需求

当前,使用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"

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有