導航:首頁 > 軟體知識 > 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如何啟動其他程序相關的資料

熱點內容
交易貓一般多久完成交易 瀏覽:14
應用程序有什麼用 瀏覽:837
扶貧助手微信小程序填錯怎麼改 瀏覽:58
西大街到棗園傢具市場怎麼坐車 瀏覽:1000
鼓樓菜市場有哪些 瀏覽:294
唯品會程序異常時怎麼回事 瀏覽:80
nba2k20怎麼交易明星球員 瀏覽:60
海康威視一級代理有哪些 瀏覽:806
mes數據互通有哪些 瀏覽:953
你是如何獲取房屋信息的 瀏覽:464
安全系統的技術是什麼 瀏覽:687
怎麼介紹醫院信息 瀏覽:130
拼多多的測圖數據哪裡看 瀏覽:892
如何評價梁寧產品思維 瀏覽:290
kpl數據分析師干什麼的 瀏覽:803
中國賣的好的外國產品有哪些 瀏覽:206
金融交易的核算是什麼 瀏覽:986
相親一天後怎麼發信息 瀏覽:991
有什麼小程序可以分析商業圈 瀏覽:243
數據板標配有哪些 瀏覽:741