您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關ASP.NET中如何使用Shell函數,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
Shell 函數
命名空間:Microsoft.VisualBasic
模塊:Interaction
程序集:Microsoft Visual Basic .NET 運行庫(位于 Microsoft.VisualBasic.dll 中)
ASP.NET環境下運行一個可執行程序,并且如果該程序仍然在運行,則返回一個包含該程序的進程 ID 的整數。
Public Function Shell( _ ByVal Pathname As String, _ Optional ByVal Style As AppWinStyle = AppWinStyle.MinimizedFocus, _ Optional ByVal Wait As Boolean = False, _ Optional ByVal Timeout As Integer = -1 _ ) As Integer
參數
Pathname
必選項。字符串。要執行的程序名以及任何需要的參數和命令行開關。Pathname 還可以包括驅動器和目錄路徑或文件夾。
Style
可選項。AppWinStyle。從 AppWinStyle 枚舉中選擇的值,該枚舉與要在其中運行程序的窗口樣式相對應。如果省略 Style,則Shell函數 使用 AppWinStyle.MinimizedFocus,這將使程序以最小化啟動并具有焦點。
Style 參數可以有以下設置之一:
枚舉值 說明
AppWinStyle.Hide 隱藏窗口并為隱藏的窗口提供焦點。
AppWinStyle.NormalFocus 為窗口提供焦點,并以最近的大小和位置顯示窗口。
AppWinStyle.MinimizedFocus 為窗口提供焦點,并以圖標的形式顯示窗口。
AppWinStyle.MaximizedFocus 為窗口提供焦點,并以全屏方式顯示窗口。
AppWinStyle.NormalNoFocus 將窗口設置為最近的大小和位置。當前活動窗口保持焦點。
AppWinStyle.MinimizedNoFocus 以圖標的形式顯示窗口。當前活動窗口保持焦點。
Wait
可選項。Boolean。指示 Shell 函數是否應等待程序完成的值。如果省略 Wait,則 Shell 使用 False。
Timeout
可選項。Integer。Wait 為 True 時等待完成的毫秒數。如果省略 Timeout,則 Shell 使用 -1,表示沒有超時,Shell 直到程序完成時才返回。因此,如果省略 Timeout 或將它設置為 -1,則 Shell 函數可能永遠不會將控制返回給程序。
現在看核心代碼:
dim but as string dim tempfile as string=server.MapPath(".") & "\" & "test.txt" shell("cmd.exe /c " & cmd.text & " > " & tempfile,,true,-1) dim myread as new streamreader (tempfile,encoding.default) but=myread.readtoend but=replace(but,"<","<") but=replace(but,">",">") result.text=" " & but & " " myread.close if file.exists(tempfile) then file.delete(tempfile) end if
關鍵是shell函數("cmd.exe /c " & cmd.text & " > " & tempfile,,true,20000),這句話就是調用cmd.exe并且等待程序執行完畢。注意:要是你運行的命令需要等待(如date),那就慘了。那就暫時刪不掉臨時文件test.txt……而且不能再執行命令了……不知道高手能不能解決這個問題。
以上就是ASP.NET中如何使用Shell函數,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。