ASP 連接執(zhí)行程序
發(fā)表時間:2024-05-19 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]一、需求 當前,使用ASP開發(fā)動態(tài)網(wǎng)頁,客戶端使用微軟公司的IE系列瀏覽器查看是一種很流行的模式。我們在開發(fā)過程中遇到了這樣的一個問題,由于技術(shù)和時間上的限制,必須在網(wǎng)頁中調(diào)用一個執(zhí)行程序。你當然可以用一個超級鏈接直接指向所需的程序,但這樣做會被微軟“黑”一下的:每次在IE中打開這個鏈接時就會出現(xiàn)...
一、需求
當前,使用ASP開發(fā)動態(tài)網(wǎng)頁,客戶端使用微軟公司的IE系列瀏覽器查看是一種很流行的模式。我們在開發(fā)過程中遇到了這樣的一個問題,由于技術(shù)和時間上的限制,必須在網(wǎng)頁中調(diào)用一個執(zhí)行程序。你當然可以用一個超級鏈接直接指向所需的程序,但這樣做會被微軟“黑”一下的:每次在IE中打開這個鏈接時就會出現(xiàn)一個不受歡迎的警告框(當然,它有它的道理,主要是出于安全方面的考慮),這對用戶來說是很能接受的。能不能用一個很方便、簡潔的方法來解決這個問題呢?
經(jīng)過一番研究,出臺了一個被稱為“李代桃僵”的方法:
l 在系統(tǒng)中創(chuàng)建一種特定的文件類型,如:*.spa;
2 將該類型的文件與要在ASP中執(zhí)行的程序關(guān)聯(lián)起來;
3 超級鏈接指向一個設(shè)定的擴展名是“spa”的文件。
這種做法的原理是:在IE中通過超級鏈接打開一個文件時,如果瀏覽器自身能解釋該類型的文件,文件的內(nèi)容直接顯示在瀏覽器中,如文本文件,否則就搜索注冊表中設(shè)置,找出處理這種類型文件的程序,然后調(diào)用相應(yīng)的程序打開該文件。
二、方法
具體的實現(xiàn)方法為手工和自動兩種方式,如下所示:
(一)、手工設(shè)置
l 打開資源管理器,如圖1所示,點擊[查看]菜單中的[文件夾選項]菜單,系統(tǒng)顯示[文件夾選項]對話框,如圖2 所示,其中有[文件類型]頁;
注意:須選中某個文件或文件夾,如果選中提[打印機]或[控制面板]等該對話框沒有這一頁
2 點擊[新建類型(N)…]按鈕,打開[添加新文件類型]對話框,如圖3所示。在[類型說明]文本框中輸入“ASP關(guān)聯(lián)”,在[相關(guān)擴展名]文本框中輸入“.spa”;(注:[內(nèi)容類型]是用做選擇已經(jīng)安裝的程序關(guān)聯(lián)某種類型的文件,該框不填)
3 打開”,點擊[瀏覽(R)…]按鈕,在對話框中選擇要在ASP中調(diào)用的程序。
4 點擊每個對話框的[確定]的按鈕即可完成;
特別注意:如圖3所示的[添加新文件類型]對話框的下方面有一個[下載后確認打開]選項。該選項在默認狀態(tài)下是被選中的,這種情況下,在網(wǎng)頁中初次打開“.spa”類型的文件時,系統(tǒng)會給出提示框詢問是否繼始終用某個程序打開該類型的文件。如果連這個框也不想出,則須將[下載后確認打開]選項置于非選中狀態(tài)
設(shè)置完成后,超級鏈接指向一個文件,如a.spa,再點擊一次,你就會看到你需要的程序不講任何條件就運行起來了!
自動設(shè)置
很顯然,系統(tǒng)編制完成交到用戶手中時,如果還要求用戶做上述設(shè)置是不現(xiàn)實的,軟件的生存能力會大打折扣,因為沒有幾個人會愿意聽擴展名和注冊表的。那么就必須讓述的工作自動完成。
在手工設(shè)置的程序與文件關(guān)聯(lián)后,所有相關(guān)的信息都存在了注冊表中,因此只要在注冊表中寫入相同的內(nèi)容即可實現(xiàn)關(guān)聯(lián)可執(zhí)行程序的功能。在注冊表中寫入一些信息對現(xiàn)有的編程軟件來說是一件比較簡單的事情,象VB和Delphi都提供了完整的存取注冊表內(nèi)容的的函數(shù),另外打包工具通常也是提供寫注冊表的功能的。那么如何在注冊表中找到對應(yīng)的信息呢。該當方法如下:
l 打開注冊表編輯器(點擊開始菜單中的運行,在文件框中輸入“regedit”,回車);
2 點擊注冊表編輯器中的[編輯]菜單中的[查找]菜單項,在[查找目標]文本框中輸入“.spa”,然后開始查找,很快就會找到一個名叫“.spa”的主鍵,它有一個默認的字符串值“spafile”。點擊[注冊表]菜單中的[導(dǎo)出注冊表文件],將該主鍵的設(shè)置導(dǎo)出到一個文件中,如“spa1.reg”;
4 再次使用[編輯]菜單中的[查找]菜單項,在[查找目標]文本框中輸入“spafile”,然后開始查找,很快就會找到一個名叫“spafile”的主鍵,它有“Shell”等子鍵,采用上一步同樣的方法,將該主鍵的設(shè)置導(dǎo)出到一個文件中,如“spa2.reg”
現(xiàn)在只需打開這兩個文件,參照其中的設(shè)置寫幾行程序,工作就完成了!
3.附兩個注冊表文件的內(nèi)容
l spa1.reg
[HKEY_CLASSES_ROOT\.spa]
@="spafile"
注:“@”是默認的意思
l spa2.reg
[HKEY_CLASSES_ROOT\spafile]
@="ASP關(guān)聯(lián)"
"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"