Application console

Soyez le premier à donner votre avis sur cette source.

Vue 14 323 fois - Téléchargée 1 252 fois

Description

Ce code propose une classe permettant de faire très facilement une application console (Ou une appli GUI lançant une console).

La classe permet de lire, écrire, executer des commandes... dans la console.

Le code n'est pas basé sur des pipes comme certains sources de vbfrance, mais sur du Win32.

Méthodes :

ReadLine
ReadChar
WriteLine
WriteString
Hide
Execute
SetColor
Show

Attributs :

Title
ProcessSignal
LastError (Lecture seule)
Visible (Lecture seule)

L'application n'est pas une appli console au sens stricte : le PE reste de type GUI.

Cela peut être génant si on veut utiliser l'appli à partir d'une invite : l'application lance une nouvelle console.

Je fournis donc un utilitaire, GuiToConsole, capable de changer le sous système du PE. L'application devient alors une authentique application console.

La classe est pleinement utilisable dans une vrai application console. En cas de console existante, la méthode show ne créé pas de nouvelle console, et la méthode Hide ne supprime pas la console originale.

Source / Exemple :


Dim uConsole As New clsConsole

Private Sub Main()

  With uConsole
    .Show
    .Title = "Hello world en VB6"
    .WriteLine "Hello world !"
    .Execute "pause"
    .Hide
  End With

End Sub

Conclusion :


Pour faire tourner une appli VB6 sans form, il faut faire une sub Main et le spécifier dans les propriétés du projet.
(Projet, Propriété de MonProgramme, Objet de démarrage, Sub Main).

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
Salut,

Non non. C'est peut être une application console, mais ça reste du VB6 : elle est donc soumise au même contraintes qu'une application classique. msvbvm60.dll est donc indispensable. Bien qu'une appli VB6 compilée en natif n'est pas vraiment besoin de la machine virtuelle contenue dans la dll, le compilo de VB6 génère un code qui multiplie les appels à cette dll. Il faut aussi vb6fr.dll, bien que quelques techniques permettent de s'en débarrasser.

Si tu veux des vrais stand alone il faut que tu t'oriente vers du C/C++ ou du Delphi.

Quoiqu'il en soit, avec un installeur comme InnoSetup, le fait que les applications nécessitent des dlls n'est pas vraiment un problème...
Messages postés
80
Date d'inscription
mardi 13 août 2002
Statut
Membre
Dernière intervention
15 décembre 2010

bonsoir a tous,
je voulais savoir si on pouvais executer ce programme dans une autre machine sans les dll de vb, merci
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
Une deuxième fenêtre DOS ?

J'ai eu cette impression deux seconde d'avoir deux fenêtre DOS à l'écran, une avec le HelloWorld, et l'autre avec le Sample... Mais en fait non : ce n'est que VB6 qui ne se raffraichit pas, et donc n'efface pas la console qui est devant elle... show et hide fonctionnent. Attention quand même, ça foirerait certainement de faire plusieurs console avec ce code.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
sympathique.

couplé avec
http://www.vbfrance.com/codes/APPLICATION-TYPE-CONSOLE-ADDIN_41156.aspx

tu génèrera un VRAI exe console : ton exe pourra être appelé depuis une fenetre de commande, et ecrire dans cette même fenetre (et non dans une nouvelle)

domage que le Sample ouvre une deuxième fenetre DOS...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.