VB6対応

 

Visual Basic 中学校 > VB6 サンプル >

開発環境で実行されているか調べる

 

以下のInVisualBasic関数を使うと 開発環境で実行しているのか、exeとして実行しているのか調べることができる。この関数は開発環境で実行している場合Trueを返す。

なお、自分で作成したプログラムにVB6.exeと名前を付けた場合はこの関数は機能しない。

VB6対応

Private Declare Function GetModuleFileName Lib "kernel32" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal Buffer As Long) As Long
'■InVisualBasic
'■機能:現在Visual Basic環境で実行されているか、exeとして実行しているか判定する。
'■戻り値:True VB環境で実行されている。
'■ False exeとして実行されている。
'■備考:exeファイル名にVB6.exe等とつけた場合は正確に動作しない。

Public Property Get InVisualBasic() As Boolean

    Dim St As String
    Dim FileName As String

    St = String(260, " ")
    Call GetModuleFileName(0, St, Len(St))
    St = Left(St, InStr(1, St, Chr(0)) - 1)

    FileName = Right(St, Len(St) - InStrRev(St, "\"))

    If UCase(FileName) = UCase(App.EXEName) & ".EXE" Then
       
InVisualBasic = False
    Else
       
InVisualBasic = True
    End If

End Property