本文說明如何判斷程式是否在 Visual Basic 集成開發環境 (IDE) 或編譯的可執行檔中執行。
原始產品版本: Visual Basic
原始 KB 編號: 177636
摘要
本文示範如何判斷程式是否在 Visual Basic IDE 中執行,或以已編譯的可執行檔的形式執行。 如果您需要新增在編譯版本的程式中看不到的偵錯資訊,您可能想要檢查程序執行位置。
其他相關資訊
您可以使用兩種方法來判斷程式是否從 IDE 或 EXE 執行。
方法 1:EXE 檔名與項目名稱不同
App 物件包含程式的一般資訊,例如可執行檔名稱。 如果專案名稱和已編譯的專案版本有不同的檔名,您可以使用
App.EXEName
屬性來判斷 EXE 是否正在執行,或專案是否在 IDE 中執行。 如果程式是從 Visual Basic IDE 執行,則EXEName
屬性會傳回項目名稱。 當程式從可執行檔執行時,EXEName
屬性會包含 EXE 檔名。方法 2:EXE 檔名和項目名稱相同
如果專案名稱和編譯的版本共用相同的名稱,請使用
GetModuleFileName
API 函式來判斷程式是否從 IDE 或從編譯的版本執行。GetModuleFileName
會擷取包含指定模組之可執行檔的完整路徑和檔名。 如果函式傳回 Visual Basic 檔案的路徑,VB5.EXE,則程式會在 IDE 中執行。 否則,程式會從可執行文件執行。
GetModuleFileName
需要下列自變數:
hModule
:您要其檔名的模組句柄。hInstance
針對這個參數使用 對象的屬性APP
。lpFilename
:要接收模組路徑之緩衝區的指標。 建立長度為 255 個字元的字串變數,並傳遞此參數的變數。nSize
:緩衝字元的大小。 針對此參數使用 255。
下一節說明如何建立實作這兩種方法的範例專案。
範例專案
在 Visual Basic 中啟動新的 Standard EXE 專案。 Form1 預設會建立。
將兩個 CommandButton 新增 至 Form1。
將下列程式代碼複製到 Form1 的 [程式代碼] 視窗:
Option Explicit Private Declare Function GetModuleFileName Lib "kernel32" _ Alias "GetModuleFileNameA" _ (ByVal hModule As Long, _ ByVal lpFileName As String, _ ByVal nSize As Long) As Long Private Sub Form_Load()'Set the command button names Command1.Caption = "Different Project and Executable Names" Command2.Caption = "Similar File Names" End Sub Private Sub Command1_Click()'Click this button if the project name and the compiled file 'name are different. MsgBox VB.App.EXEName End Sub Private Sub Command2_Click()'Click this button if the project name and the compiled file 'name are the same. Dim strFileName As String Dim lngCount As Long strFileName = String(255, 0) lngCount = GetModuleFileName(App.hInstance, strFileName, 255) strFileName = Left(strFileName, lngCount) If UCase(Right(strFileName, 7)) <> "VB5.EXE" Then MsgBox "Compiled Version" Else MsgBox "IDE Version" End If End Sub
使用 IDEApp 專案名稱儲存專案。
從這個項目編譯兩個不同的可執行檔。 使用第一個可執行檔的預設檔名IDEApp.exe。 針對第二個可執行檔,請使用檔名 EXEApp。 若要編譯專案,請完成下列步驟:
從 [ 檔案] 功能表中,按兩下 [ 建立IDEApp.exe]。 [ 建立專案] 對話框隨即出現。
使用預設檔名,或在 [檔案名] 文字框中輸入您的檔名。
按兩下 [確定 ] 以建立可執行檔,並關閉 [ 建立項目對話框 ]。
在 [執行] 功能表上,按一下 [開始] 或按 F5 鍵啟動程式。 按兩下 [不同的專案和可執行檔案名稱] 按鈕。 消息框會顯示訊息 IDEApp, 表示程式是從 IDE 執行。 按兩下 [類似的檔案名] 按鈕。 消息框會顯示訊息 IDE 版本, 以指出程式正在從 IDE 執行。 關閉專案。
執行任一個可執行檔,然後按下 CommandButtons。 顯示消息框,指出程式是從可執行檔執行。