Rubrik: Entwicklungsumgebung · VB-IDE allgemein | VB-Versionen: VB4, VB5, VB6 | 10.11.00 |
Läuft die Anwendung in der IDE Mit folgender Routine können Sie per Programmcode ermitteln, ob Ihre Anwendung in der Entwicklungsumgebung (IDE) oder im kompilierten Modus läuft. | ||
Autor: Dieter Otter | Bewertung: | Views: 19.252 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Mit folgender Routine können Sie per Programmcode ermitteln, ob Ihre Anwendung in der Entwicklungsumgebung (IDE) oder im kompilierten Modus läuft.
' Deklarationen Private Declare Function GetModuleFileName Lib "kernel32" _ Alias "GetModuleFileNameA" ( _ ByVal hModule As Long, _ ByVal lpFileName As String, _ ByVal nSize As Long) As Long Private Declare Function GetClassLong Lib "user32" _ Alias "GetClassLongA" ( _ ByVal hWnd As Long, _ ByVal nIndex As Long) As Long Const GWL_HINSTANCE = (-6) ' Die nachfolgende Funktion prüft, ob die Anwendung ' in der Entwicklungsumgebung (IDE) oder im ' kompilierten Modus läuft Public Function IsIDE(hWnd As Long) As Boolean Dim sName As String Dim lResult As Long Dim hInst As Long hInst = GetClassLong(hWnd, GWL_HINSTANCE) sName = Space$(255) lResult = GetModuleFilename(hInst, sName, Len(sName)) If lResult > 0 Then sName = SplitFileFromPath(Left$(sName, lResult)) If Instr(sName, ".") > 0 Then _ sName = Left$(sName, Instr(sName, ".") - 1) End If IsIDE = (sName <> App.EXEName) End Function ' Die nachfolgende Funktion ermittelt den reinen ' Dateinamen aus einem übergebenen Pfad Public Function SplitFileFromPath(ByVal Pfad As String) _ As String Dim File As String File = "" While right$(Pfad, 1) <> "\" And _ right$(Pfad, 1) <> ":" And Pfad <> "" File = right$(Pfad, 1) + File Pfad = left$(Pfad, Len(Pfad) - 1) Wend SplitFileFromPath = File End Function
Erläuterungen:
Um festzustellen, ob die Anwendung in der IDE oder kompiliert ausgeführt wird, rufen Sie die Funktion IsIDE auf und übergeben dieser die hWnd-Eigenschaft einer beliebigen Form Ihrer Anwendung. Läuft die Anwendung in der IDE, so erhalten Sie als Rückgabewert True, andernfalls False.