Trucos Saber si estamos dentro del IDE de Visual Basic

Existen dos formas :

1 - EL NOMBRE DEL EXE ES DISTINTO DE EL DEL PROYECTO
  El objeto App contiene información general sobre el programa, entre otras cosas el nombre del fichero ejecutable. Si el proyecto y el fichero ejecutable tienen distintos nombres podemos usar la propiedad App.EXEName para saber si estamos ejecutando el programa desde VB ya que en este caso en vez de devolvernos el nombre del fichero EXE nos devolverá el del proyecto.

2 - LOS NOMBRES DEL EXE Y DEL PROYECTO SON IGUALES
  Podremos usar la función GetModuleFileName para saber si el programa se está ejecutando desde el IDE o desde la versión compilada. Si la función nos devuelve el path del IDE de VB, VB5.EXE, el programa se está ejecutando desde dentro del Visual.

La función GetModuleFileName tiene los siguientes parámetros :
 - hModule : handle del módulo cuyo nombre queremos saber. Usaremos la propiedad hInstance del objeto App.
- lpFileName : puntero al buffer que recibirá el nombre. Usaremos un string de 255 caracteres.
- nSize : longitud del buffer. Pondremos 255

Declaraciones :

Private Declare Function GetModuleFileName Lib "kernel32" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long

Y para obtener el nombre :

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 "Versión compilada"
Else
    MsgBox "Dentro del IDE de VB"
End If



Trucos Trucos

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com