Partager via


Vérifier si le programme s’exécute dans l’IDE ou un fichier EXE

Cet article explique comment déterminer si votre programme s’exécute dans l’environnement de développement intégré Visual Basic (IDE) ou en tant que fichier exécutable compilé.

Version du produit d’origine : Visual Basic
Numéro de base de connaissances d’origine : 177636

Résumé

Cet article montre comment déterminer si votre programme s’exécute dans l’IDE Visual Basic ou en tant que fichier exécutable compilé. Vous pouvez vérifier l’emplacement d’exécution de votre programme si vous devez ajouter des informations de débogage qui ne seraient pas visibles dans la version compilée de votre programme.

Plus d’informations

Il existe deux méthodes que vous pouvez utiliser pour déterminer si votre programme s’exécute à partir de l’IDE ou de l’EXE.

  • Méthode 1 : Le nom de fichier EXE diffère du nom du projet

    L’objet App contient des informations générales sur le programme, telles que le nom du fichier exécutable. Si le nom du projet et la version compilée du projet ont des noms de fichiers différents, vous pouvez utiliser la App.EXEName propriété pour déterminer si l’EXE est en cours d’exécution ou si votre projet est en cours d’exécution dans l’IDE. Si le programme s’exécute à partir de l’IDE Visual Basic, la EXEName propriété retourne le nom du projet. Lorsqu’un programme s’exécute à partir d’un exécutable, la EXEName propriété contient le nom du fichier EXE.

  • Méthode 2 : nom de fichier EXE et nom du projet sont identiques

    Si le nom du projet et la version compilée partagent le même nom, utilisez la GetModuleFileName fonction API pour déterminer si votre programme s’exécute à partir de l’IDE ou à partir d’une version compilée. GetModuleFileName récupère le chemin d’accès complet et le nom de fichier du fichier exécutable contenant le module spécifié. Si la fonction retourne un chemin d’accès au fichier Visual Basic, VB5.EXE, le programme s’exécute dans l’IDE. Sinon, le programme s’exécute à partir d’un fichier exécutable.

GetModuleFileName nécessite les arguments suivants :

  • hModule: handle du module dont vous souhaitez le nom de fichier. Utilisez la hInstance propriété de l’objet APP pour ce paramètre.

  • lpFilename: pointeur vers la mémoire tampon pour recevoir le chemin du module. Créez une variable de chaîne de 255 caractères longs et transmettez cette variable pour ce paramètre.

  • nSize: taille des caractères de mise en mémoire tampon. Utilisez 255 pour ce paramètre.

La section suivante montre comment créer un exemple de projet qui implémente ces deux méthodes.

Exemple de projet

  1. Démarrez un nouveau projet EXE Standard en Visual Basic. Form1 est créé par défaut.

  2. Ajoutez deux CommandButtons à Form1.

  3. Copiez le code suivant dans la fenêtre Code 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
    
  4. Enregistrez le projet avec le nom du projet IDEApp .

  5. Compilez deux fichiers exécutables différents à partir de ce projet. Utilisez le nom de fichier par défaut, IDEApp.exe, pour le premier fichier exécutable. Pour le deuxième fichier exécutable, utilisez le nom de fichier EXEApp. Pour compiler le projet, procédez comme suit :

    • Dans le menu Fichier , cliquez sur Créer IDEApp.exe. La boîte de dialogue Créer un projet s’affiche.

    • Utilisez le nom de fichier par défaut ou tapez votre nom de fichier dans la zone de texte Nom de fichier.

    • Cliquez sur OK pour créer le fichier exécutable et fermer la boîte de dialogue Créer un projet.

  6. Dans le menu Exécuter, cliquez sur Démarrer ou appuyez sur la touche F5 pour démarrer le programme. Cliquez sur le bouton Différents noms de projet et d’exécutables. Une boîte de message s’affiche avec le message, IDEApp, pour indiquer que le programme s’exécute à partir de l’IDE. Cliquez sur le bouton Noms de fichiers similaires. Une boîte de message s’affiche avec le message, version de l’IDE, pour indiquer que le programme s’exécute à partir de l’IDE. Fermez le projet.

  7. Exécutez l’un ou l’autre fichier exécutable, puis cliquez sur CommandButtons. Une boîte de message s’affiche indiquant que le programme s’exécute à partir d’un fichier exécutable.