asp執行主機端程式
■運用元件 ASPExec.zip
■ Step1. 將元件註冊給WINDOWS
註冊語法:Regsvr32 ASPEXEC.DLL
反註冊語法:Regsvr32 /u ASPEXEC.DLL(要移除之前,原路徑的dll檔必需存在,否則無法移除)
■ Step2. IIS設定
A如果安裝的是IIS 6,有2個地方要先進行設定,
1修改網頁服務延伸設定,將Active Server Pages的狀況設定為允許
2修改網站的隔離模式,在「網站」按滑鼠右鍵-->選「內容」-->選「服務」頁籤,
將隔離模式中「用IIS5.0隔離模式執行WWW服務」勾選馬
B建立1個虛擬目錄,目錄指向asp網頁的存放位置
1修改應用程式保護,選「虛擬目錄」頁籤,將「應用程式保護」設定為「低(IIS處理序)」。
2修改驗證方法,選「目錄安全設定」頁籤,按「瀏覽」鈕-->按「進階」鈕-->按「立即尋找」,
點選權限較高的使用者,至少有對虛擬目錄實際資料夾進行存取的權限
■ ASPEXEC 3.0語法使用說明
Set Executor = Server.CreateObject("ASPExec.Execute")
'建立物件名稱
Application
'執行的應用程式的檔名稱與路徑
Executor.Application = "notepad.exe"
Parameters
'執行的應用程式的參數
Executor.Parameters = "c:\autoexec.bat"
TimeOut
'執行應用程式的等待時間(ms)
Executor.TimeOut = "6000"
ShowWindow
'執行應用程式時是否要顯示視窗
Executor.ShowWindow = Ture
ExecuteDosApp
'Executes the specified app as a DOS app and returns stdio as string
Executor.ExecuteDosApp
ExecuteWinAppAndWait
'Execute the specified app as a Windows app and wait for the specified timeout if exec is successful
ExecuteWinApp
'Execute the specified app as a Windows app and return result code immediately
■ASP範例
範例1.執行notepad.exe並傳入參數c:\autoexec.bat
<%@Language="VBScript"%>
<%Response.Buffer = True%>
<%
Set Executor = Server.CreateObject("ASPExec.Execute")
Executor.Application = "notepad.exe"
Executor.Parameters = "c:\autoexec.bat"
Executor.ShowWindow = True
Response.Write "Attempting to execute " & Executor.Application & "<br>"
strResult = Executor.ExecuteWinApp
Response.Write "The result of this call was: " & strResult
%>
範例2.讓windows服務重新啟動
<%@Language="VBScript"%>
<%Response.Buffer = True%>
<%
Set Executor = Server.CreateObject("ASPExec.Execute")
Executor.Application = "ArcIMS Application Server 9.2.0"""
Executor.ShowWindow = false
Response.Write "Attempting to execute " & Executor.Application & "<br>"
strResult = Executor.ExecuteDosApp
Response.Write "The result of this call was: " & strResult
Executor.Application = "net start ""ArcIMS Application Server 9.2.0"""
Executor.ShowWindow = false
Response.Write "Attempting to execute " & Executor.Application & "<br>"
strResult = Executor.ExecuteDosApp
Response.Write "The result of this call was: " & strResult
%>