begin process at 2010 02 10 00:12:17
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Exécution

 > EXÉCUTION DU PROGRAMME SOUS VB OU EXE COMPILÉ ?

EXÉCUTION DU PROGRAMME SOUS VB OU EXE COMPILÉ ?


 Information sur la source

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Exécution Niveau :Débutant Date de création :26/04/2003 Date de mise à jour :11/05/2003 18:00:55 Vu :2 694

Auteur : FredT

Ecrire un message privé
Site perso
Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

 Description

Comment savoir si le programme est exécuté à partir de VB ou s'il est compilé? Voila au moins 1 heure que je cherche sur VBFrance, en me disant j'ai vu ca quelque part !
J'ai pas réussi à retrouver ça. Tant pis si la source est en double. Ce matin j'suis mal réveillé, j'voulais pas trop faire travailler les neurones, bon c'est loupé! Finalement c'est tout simple :

Source

  • 'Renvoi True, si exécution à partir du programme compilé
  • Public Function isExecutable() As Boolean
  • On Error Resume Next
  • ' Erreur division par 0, uniquement exécution sous VB.
  • ' Dans un exe, la ligne est ignorée
  • Debug.Print 1 / 0
  • isExecutable = (Err.Number = 0)
  • On Error GoTo 0
  • End Function
'Renvoi True, si exécution à partir du programme compilé
Public Function isExecutable() As Boolean
    On Error Resume Next
    ' Erreur division par 0, uniquement exécution sous VB.
    ' Dans un exe, la ligne est ignorée
    Debug.Print 1 / 0
    isExecutable = (Err.Number = 0)
    On Error GoTo 0
End Function
 

 Conclusion

Exemple d'utilisation : Comme en ce moment j'utilise beaucoup CoolMenu 1.6 et que vive les plantages VB ou même la fermeture de VB en mode débogage... j'en avais marre d'enlever et remettre les lignes en commentaire à chaque compilation.


 Sources du même auteur

Source avec Zip Source avec une capture DEVLIBRARY - APPLICATION COMPLETE DE GESTION, CLASSEMENT ET ...

 Sources de la même categorie

Source avec Zip APPEL DE POINTEUR DE FONCTIONS - API SANS LES DECLARER par Renfield
Source avec Zip Source avec une capture RETROUVER LES DONNÉES PUBLIQUES DANS UNE BIBLIOTHÈQUE par VBsearch
Source avec Zip Source avec une capture CRÉER VOTRE PROGRAMME D'INSTALLATION par VBsearch
Source avec Zip Source avec une capture BART VOTRE BUREAU DANS UNE BARRE par alfamick
Source avec Zip Source avec une capture Source .NET (Dotnet) SIMPLE SHUTDOWN SCHEDULER : ARRÊTS PLANIFIÉS (LOCAL OU REMOT... par violent_ken

Commentaires et avis

Commentaire de Anthomicro le 26/04/2003 11:00:00

Salut

Voici une autre solution :

dim compile as boolean

If App.LogMode = 0 Then
      compile=false
else
      compile=true
end if

Commentaire de FredT le 26/04/2003 11:26:55

ah, ca y'est j'l'ai retrouvé :-) c'est  :
http://www.vbfrance.com/article.aspx?Val=335 .
Par contre j'ai bien fait de pas la retrouver plus tôt car on pourrai dire à ce sujet "Pourquoi faire simple quand on peut faire compliqué ?"
Euh Anthomicro, j'ai pas trop compris cette histoire de journalisation, mais sous Win 95 LogMode renverrai t'elle pas 0 ?

Commentaire de TheHacker le 26/04/2003 14:19:46

merci Anthomicro c cool le sp'tits nouveaux trucs comme ca meme si je sia spas tro pquoi en fair epour l'instant mais c tjr bon a savoir.

Fredt, je vois aps ce que tu piges pas, c poourtant on ne peut + clair

Commentaire de FredT le 26/04/2003 15:47:27

En fait, ce que je veux dire, c'est que dans MSDN (c la que j'ai pas tout compris) j'ai cru comprendre que sous Win95, App.LogMode renvoi aussi 0, si on défini app.LogPath. Donc, la solution d'Anthomicro ne marche peut-etre pas dans ce cas.
je préfère du 100% sûre plutot que 99

Commentaire de TheHacker le 26/04/2003 18:32:59

ouai c vrai que c + sur mais ya qu'a faire l'essai je reviens je vais tester sur un autre ordi, ne partez pas !

Commentaire de TheHacker le 26/04/2003 18:48:58

voila j'ai essayé sur  win 98 et sous Xp et ca donne exactement les meme résultats

Commentaire de Renfield le 26/04/2003 21:05:29 administrateur CS

bien observé !! j'adore !!

Commentaire de max12 le 27/04/2003 01:58:08 administrateur CS

J'avais aussi déposer un code comme ça :) Sur le m^me principe, c'est pour l'info @+

Commentaire de christoussaint le 03/09/2003 12:38:02

Je ne vois pas ce que ça change de savoir si ton prog tourne sous vb ou de façon autonome ??
ça ne résoud pas non plus ton problème de plantage de CoolMenu.
J'ai le même problème avec les coolmenu et je ne sais pas comment le résoudre. Je suppose que si tu parles de ça c'est que ça doit etre une piste mais je comprend pas...
Quelqu'un peux m'expliquer??

Commentaire de FredT le 03/09/2003 13:53:12

christoussaint : Explications, avec moi, CoolMenu, plante uniquement sous VB, mais une fois compilé, tout va bien. Donc dans
       Private Sub Form_Load()
j'ai ajouté ces lignes :
     'Chargement de Cool Menu
    If isExecutable() = True Then
        Call ModCoolMenu.Install(frmMain.hwnd, , frmMain.ilsOutils)
    End If
je n'utilise CoolMenu que pour des raisons esthétiques, donc pour tester les modif de mon prog, je n'ai pas besoin de ca. Et une fois compilé par contre j'en ai besoin.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales