Verifique se o programa está sendo executado no IDE ou em um arquivo EXE

Este artigo descreve como determinar se o programa está sendo executado no IDE (ambiente de desenvolvimento integrado) do Visual Basic ou como um arquivo executável compilado.

Versão original do produto: Visual Basic
Número original do KB: 177636

Resumo

Este artigo demonstra como determinar se o programa está sendo executado no IDE do Visual Basic ou como um arquivo executável compilado. Talvez você queira verificar onde seu programa está sendo executado se precisar adicionar informações de depuração que não seriam visíveis na versão compilada do seu programa.

Mais informações

Há dois métodos que você pode usar para determinar se o programa está sendo executado a partir do IDE ou do EXE.

  • Método 1: O nome do arquivo EXE difere do nome do projeto

    O objeto App contém informações gerais sobre o programa, como o nome do arquivo executável. Se o nome do projeto e a versão compilada do projeto tiverem nomes de arquivo diferentes, você poderá usar a App.EXEName propriedade para determinar se o EXE está em execução ou se o projeto está sendo executado no IDE. Se o programa estiver sendo executado no IDE do Visual Basic, a EXEName propriedade retornará o nome do projeto. Quando um programa está sendo executado a partir de um executável, a EXEName propriedade contém o nome do arquivo EXE.

  • Método 2: O nome do arquivo EXE e o nome do projeto são os mesmos

    Se o nome do projeto e a versão compilada compartilharem o mesmo nome, use a função API para determinar se o GetModuleFileName programa está sendo executado a partir do IDE ou de uma versão compilada. GetModuleFileName Recupera o caminho completo e o nome do arquivo executável que contém o módulo especificado. Se a função retornar um caminho para o arquivo do Visual Basic, VB5.EXE, o programa estará sendo executado no IDE. Caso contrário, o programa está sendo executado a partir de um arquivo executável.

GetModuleFileName requer os seguintes argumentos:

  • hModule: o identificador para o módulo cujo nome de arquivo você deseja. Use a hInstance APP propriedade do objeto para esse parâmetro.

  • lpFilename: um ponteiro para armazenar em buffer para receber o caminho do módulo. Crie uma variável de string com 255 caracteres e passe essa variável para esse parâmetro.

  • nSize: o tamanho dos caracteres de buffer. Use 255 para este parâmetro.

A próxima seção ilustra como criar um projeto de exemplo que implementa esses dois métodos.

Projeto de exemplo

  1. Inicie um novo projeto EXE Standard no Visual Basic. Form1 é criado por padrão.

  2. Adicione dois CommandButtons ao Form1.

  3. Copie o seguinte código para a janela Código do 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
    
  4. Salve o projeto com o nome do projeto IDEApp .

  5. Compile dois arquivos executáveis diferentes deste projeto. Use o nome de arquivo padrão, IDEApp.exe, para o primeiro arquivo executável. Para o segundo arquivo executável, use o nome de arquivo EXEApp. Para compilar o projeto, conclua as seguintes etapas:

    • No menu Arquivo , clique em Tornar IDEApp.exe. A caixa de diálogo Criar projeto é exibida.

    • Use o nome de arquivo padrão ou digite o nome do arquivo na caixa de texto Nome do arquivo.

    • Clique em OK para criar o arquivo executável e fechar a caixa de diálogo Criar projeto.

  6. No menu Executar, clique em Iniciar ou pressione a tecla F5 para iniciar o programa. Clique no botão Nomes de projetos e executáveis diferentes. Uma caixa de mensagem é exibida com a mensagem IDEApp para indicar que o programa está sendo executado a partir do IDE. Clique no botão Nomes de arquivo semelhantes. Uma caixa de mensagem é exibida com a mensagem Versão do IDE para indicar que o programa está sendo executado a partir do IDE. Feche o projeto.

  7. Execute qualquer um dos arquivos executáveis e clique em CommandButtons. Uma caixa de mensagem é mostrada indicando que o programa está sendo executado a partir de um arquivo executável.