如何在 VB 中使用 ExitWindowsExec() 執行 MS-DOS 批次檔

文章翻譯 文章翻譯
文章編號: 147806 - 檢視此文章適用的產品。
本文已封存。本文係以「現狀」提供且不會再更新。
全部展開 | 全部摺疊

在此頁中

結論

ExitWindowsExec() 函式結束 Windows,執行指定的 MS-DOS 應用程式,然後重新啟動 Windows。本文資訊將說明如何呼叫這個函式從 Microsoft Visual Basic。

其他相關資訊

通常 ExitWindowsExec() 函式用由安裝程式以來取代 Windows 執行時,會使用中的 Windows 元件。 通常,您想要執行可進行檔案複製時 Windows 暫時關閉 MS-DOS 批次檔案。對於 ExitWindowsExec() 宣告是,如下所示:
   ' Place the following declaration on one, single line:

  Private Declare Function ExitWindowsExec Lib "User" (ByVal lpszExe As String,
      ByVal lpszParams As Any) As Integer
				

第一個參數: lpszExe $

ExitWindowsExec() lpszExe $ 的第一個參數應該是字串,包含您想要執行的可執行檔的完整的路徑。 這個字串必須包含不能超過 127 個字元。批次檔就必須指定 COMMAND.COM 作為檔案--C:\DOS\COMMAND.COM。若要取得完整的路徑在 Visual Basic 來 COMMAND.COM,您可以使用 Environ $ 函數:
   lpszExe$ = Environ$("COMSPEC")
				

如需有關 Environ $ 函數的詳細資訊,請參閱 Microsoft Visual Basic 語言參照] 或 [說明] 功能表。

第二個參數: lpszParams $

對於 ExitWindowsExec() lpszParams $ 第二個參數應該是字串,包含任何必要的參數為可執行檔。如果沒有參數都是必要的傳遞長整數 0,例如 0 (& I)。

若要執行批次檔,但是,這是您可在此指定批次檔及它所需要的任何參數路徑。而且,您需要前面引用具有/c 參數,這個參數會讓 MS-DOS 叫用一份 COMMAND.COM 字串。以下是範例:
   lpszParams$ = "/C C:\DIRNAME\GENERIC.BAT  PARAMETER1 PARAMETER2"
				

函式失敗時,這個函式的傳回值會是 False。

雖說是逐步範例

  1. 使用記事本 Windows 中的,或者是在 MS-DOS 編輯,稱為 C:\RUNIT.BAT 您硬碟的根目錄中建立批次檔。不妨下列內容:
       @echo off
       echo Making Backup of autoexec.bat
       copy c:\autoexec.bat c:\*.bak
       echo Done
    
    						
  2. 開始新的專案在 Visual Basic (Alt F,N)。預設會建立 Form1。
  3. 將下列宣告新增到表單的一般宣告區段:
       ' Place the following declaration on one, single line:
    
       Private Declare Function ExitWindowsExec Lib "User" (ByVal lpszExe As String, _
          ByVal lpszParams As Any) As Integer
    
    						
  4. 在表單中加入指令按鈕 (Command1),並將下列程式碼放在 Click() 事件。
       Private Sub Command1_Click ()
          sComspec$ = Environ$("COMSPEC")
          ret% = ExitWindowsExec(sComspec$,  "/c c:\runit.bat")
       End Sub
    
    						
  5. 儲存專案 (Alt F,V)。然後按下 F5 鍵以執行程式。 按一下 [命令] 按鈕,結束 Windows,執行批次的檔案,然後重新啟動 Windows。

屬性

文章編號: 147806 - 上次校閱: 2013年9月30日 - 版次: 1.1
這篇文章中的資訊適用於:
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 16-bit Enterprise Edition
關鍵字:?
kbnosurvey kbarchive kbmt kbwndw KB147806 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:147806
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com