Comprobación de si el programa se está ejecutando en el IDE o en un archivo EXE
En este artículo se describe cómo determinar si el programa se ejecuta en el entorno de desarrollo integrado (IDE) de Visual Basic o como un archivo ejecutable compilado.
Versión original del producto: Visual Basic
Número de KB original: 177636
Resumen
En este artículo se muestra cómo determinar si el programa se ejecuta en el IDE de Visual Basic o como un archivo ejecutable compilado. Es posible que quiera comprobar dónde se ejecuta el programa si necesita agregar información de depuración que no sería visible en la versión compilada del programa.
Más información
Hay dos métodos que puede usar para determinar si el programa se ejecuta desde el IDE o exe.
Método 1: El nombre de archivo EXE difiere del nombre del proyecto
El objeto App contiene información general sobre el programa, como el nombre del archivo ejecutable. Si el nombre del proyecto y la versión compilada del proyecto tienen nombres de archivo diferentes, puede usar la
App.EXEName
propiedad para determinar si el EXE se está ejecutando o si el proyecto se ejecuta en el IDE. Si el programa se ejecuta desde el IDE de Visual Basic, laEXEName
propiedad devuelve el nombre del proyecto. Cuando un programa se ejecuta desde un archivo ejecutable, laEXEName
propiedad contiene el nombre de archivo EXE.Método 2: el nombre de archivo EXE y el nombre del proyecto son los mismos
Si el nombre del proyecto y la versión compilada comparten el mismo nombre, use la
GetModuleFileName
función de API para determinar si el programa se ejecuta desde el IDE o desde una versión compilada.GetModuleFileName
recupera la ruta de acceso completa y el nombre de archivo del archivo ejecutable que contiene el módulo especificado. Si la función devuelve una ruta de acceso al archivo de Visual Basic, VB5.EXE, el programa se ejecuta en el IDE. De lo contrario, el programa se ejecuta desde un archivo ejecutable.
GetModuleFileName
requiere los argumentos siguientes:
hModule
: identificador del módulo cuyo nombre de archivo desea. Use lahInstance
propiedad delAPP
objeto para este parámetro.lpFilename
: puntero al búfer para recibir la ruta de acceso del módulo. Cree una variable de cadena de 255 caracteres de largo y pase esa variable para este parámetro.nSize
: el tamaño de los caracteres de almacenamiento en búfer. Use 255 para este parámetro.
En la sección siguiente se muestra cómo crear un proyecto de ejemplo que implementa estos dos métodos.
Proyecto de ejemplo
Inicie un nuevo proyecto EXE estándar en Visual Basic. Form1 se crea de forma predeterminada.
Agregue dos CommandButtons a Form1.
Copie el código siguiente en la ventana Código de 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
Guarde el proyecto con el nombre del proyecto IDEApp .
Compile dos archivos ejecutables diferentes de este proyecto. Use el nombre de archivo predeterminado, IDEApp.exe, para el primer archivo ejecutable. Para el segundo archivo ejecutable, use el nombre de archivo EXEApp. Para compilar el proyecto, complete los pasos siguientes:
En el menú Archivo , haga clic en Crear IDEApp.exe. Aparece el cuadro de diálogo Crear proyecto .
Use el nombre de archivo predeterminado o escriba el nombre de archivo en el cuadro de texto Nombre de archivo.
Haga clic en Aceptar para crear el archivo ejecutable y cerrar el cuadro de diálogo Crear proyecto .
En el menú Ejecutar , haga clic en Iniciar o presione la tecla F5 para iniciar el programa. Haga clic en el botón Diferentes nombres de proyecto y ejecutable. Se muestra un cuadro de mensaje con el mensaje IDEApp para indicar que el programa se ejecuta desde el IDE. Haga clic en el botón Nombres de archivo similares . Se muestra un cuadro de mensaje con el mensaje, Versión del IDE, para indicar que el programa se está ejecutando desde el IDE. Cierre el proyecto.
Ejecute cualquiera de los archivos ejecutables y haga clic en commandbuttons. Se muestra un cuadro de mensaje que indica que el programa se ejecuta desde un archivo ejecutable.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de