導航:首頁 > 軟體知識 > vb如何啟動其他程序

vb如何啟動其他程序

發布時間:2023-10-14 04:17:56

1. 如何用VB調用一個外部EXE程序

使用Shell函數函數。

2. 如何在VB中怎樣運行外部程序

Visual Basic 語言參考

Shell 函數
運行一個可執行程序,並且如果該程序仍然在運行,則返回一個包含該程序的進程 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 可能永遠不會將控制返回給程序。
異常/錯誤
異常類型 錯誤號 條件
ArgumentException 5 Style 不在 0 到 9(包含 0 和 9)范圍內。
FileNotFoundException 53 Shell 無法啟動指定的程序。

備注
Shell 函數的返回值取決於 Pathname 中指定的程序在 Shell 返回時是否仍在執行。如果將 Wait 設置為 True 並且程序在超時過期前結束,Shell 返回零。如果超時過期或者省略 Wait 或將它設置為 False,則 Shell 返回程序的進程 ID。進程 ID 是標識正在運行的程序的唯一數字。

如果 Shell 函數無法啟動指定的程序,則出現 System.IO.FileNotFoundException 錯誤。例如,當試圖從使用 System.Windows.Forms 的應用程序運行 16 位程序(如 command.com)時,可能會發生這種情況。解決辦法是運行將調用所需的 16 位程序的 32 位程序。如果是 command.com,則可以將運行 cmd.exe 作為另一種選擇。

默認情況下,Shell 函數非同步運行程序。這意味著用 Shell 函數啟動的程序在 Shell 函數後面的語句執行前可能沒有結束執行。如果想等待程序結束後再繼續,請將 Wait 設置為 True。

整個路徑和文件規范應該始終用引號引起來,如以下示例所示:

ID = Shell("""C:\Program Files\MyFile.exe"" -a -q", , True, 100000)
字元串內每對相鄰的雙引號 ("") 被解釋為字元串中的一個雙引號字元。因此,前面的示例表示 Shell 函數的下列字元串:

"C:\Program Files\MyFile.exe" -a -q
如果路徑沒有用引號引起來,Windows 就會在 C:\ 目錄中查找名為 Program.exe 的文件,而不是在 C:\Program Files 目錄中查找 MyFile.exe 文件。

安全說明 如果路徑和文件規范沒有用引號引起來,那麼當文件名或路徑節點包含空格時,就會出現安全風險。在上面的示例中,路徑節點 \Program Files 包含一個空格。如果規范不在引號中,並且名為 Program.exe 的程序(例如通過非法的破壞)安裝在 C:\ 中,Windows 就會執行 Program.exe 程序而不是 MyFile.exe。
安全說明 Shell 函數需要非託管代碼許可權,這可能會對它在部分信任情況下的執行產生影響。有關更多信息,請參見 SecurityPermission 類和代碼訪問許可權。
示例
本示例使用 Shell 函數運行一個用戶指定的應用程序。通過將 AppWinStyle.NormalFocus 指定為第二個參數,以正常大小打開應用程序並為它提供焦點。

Dim ProcID As Integer
' Run Calculator.
ProcID = Shell("C:\Windows\system32\calc.exe", AppWinStyle.NormalFocus)
' The preceding path is for Windows XP;
' The Windows 2000 path is C:\WINNT\system32\calc.exe.

閱讀全文

與vb如何啟動其他程序相關的資料

熱點內容
企業客戶信息如何做到保密 瀏覽:941
哪些國寶不能交易 瀏覽:734
縣級教體局招聘的人事代理是什麼 瀏覽:158
代理為什麼找下家 瀏覽:272
唐代大商人一般用什麼貨幣交易 瀏覽:950
蘭州職業技術學院怎麼報考 瀏覽:607
為什麼信息都不見了 瀏覽:405
做品牌代理需要哪些資料 瀏覽:808
什麼是整理庫存數據 瀏覽:508
心動省級代理怎麼弄 瀏覽:104
已讀信息怎麼標記 瀏覽:363
測試你適合什麼顏色的口紅小程序 瀏覽:463
安卓如何設置程序使用屏幕的比例 瀏覽:958
怎麼獲取知網資料庫 瀏覽:263
做市場投放需要注意什麼 瀏覽:742
濱州哪裡有鑒定交易 瀏覽:59
批發市場的雞蛋皮是怎麼知道的 瀏覽:269
麻友圈成為代理怎麼充卡 瀏覽:64
有什麼好的技術推廣 瀏覽:43
交易數據異常是什麼意思 瀏覽:327