Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ECRIRE DANS UNE CONSOLE AVEC VISUAL BASIC (WRITE IN A CONSOLE WITH VB)


Information sur la source

Catégorie :Shell Classé sous : dos, console, shell, write, ecrire Niveau : Initié Date de création : 23/05/2007 Date de mise à jour : 23/05/2007 16:40:21 Vu : 8 079

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

Description

Le code ci-dessous est relativement court pour des raisons de clarté. Il vous permettera d'afficher un message dans une console DOS.
Le programme devra être lancé dans une console DOS et non directement (sinon ça quittera tout seul).

The following code above is relatively short for the comprehension. It allows you to display a message in DOS console.
This program have to be launch in a DOS console and not directly (otherwise it will exit)


 

Source

  • Option Explicit
  • Private Declare Function FreeConsole Lib "kernel32" () As Long
  • Private Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Long) As Long
  • Private Declare Function SetConsoleTitle Lib "kernel32" Alias "SetConsoleTitleA" (ByVal lpConsoleTitle As String) As Long
  • Private Declare Function WriteConsole Lib "kernel32" Alias "WriteConsoleA" (ByVal hConsoleOutput As Long, ByVal lpBuffer As Any, ByVal nNumberOfCharsToWrite As Long, lpNumberOfCharsWritten As Long, lpReserved As Any) As Long
  • Private Declare Function AttachConsole Lib "kernel32" (ByVal dwProcessId As Long) As Long
  • Private Const STD_OUTPUT_HANDLE = -11&
  • 'Handle du programme parent (console)
  • Private hConsole As Long
  • Sub Main()
  • 'On attache le programme à la console parent
  • If (AttachConsole(-1&) = 0) Then Exit Sub
  • 'On capture le handle de la sortie standard
  • hConsole = GetStdHandle(STD_OUTPUT_HANDLE)
  • 'On définit un titre à la fenetre en cours
  • SetConsoleTitle "Hello World!"
  • 'On affiche un message
  • ConsolePrint "Hello World!" & vbCrLf
  • 'On se détache du processus parent
  • FreeConsole
  • End Sub
  • Private Sub ConsolePrint(MsgOut As String)
  • WriteConsole hConsole, MsgOut, Len(MsgOut), vbNull, vbNull
  • End Sub
Option Explicit

Private Declare Function FreeConsole Lib "kernel32" () As Long
Private Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Long) As Long
Private Declare Function SetConsoleTitle Lib "kernel32" Alias "SetConsoleTitleA" (ByVal lpConsoleTitle As String) As Long
Private Declare Function WriteConsole Lib "kernel32" Alias "WriteConsoleA" (ByVal hConsoleOutput As Long, ByVal lpBuffer As Any, ByVal nNumberOfCharsToWrite As Long, lpNumberOfCharsWritten As Long, lpReserved As Any) As Long
Private Declare Function AttachConsole Lib "kernel32" (ByVal dwProcessId As Long) As Long
Private Const STD_OUTPUT_HANDLE = -11&

'Handle du programme parent (console)
Private hConsole As Long
Sub Main()
    'On attache le programme à la console parent
    If (AttachConsole(-1&) = 0) Then Exit Sub
           
    'On capture le handle de la sortie standard
    hConsole = GetStdHandle(STD_OUTPUT_HANDLE)
    
    'On définit un titre à la fenetre en cours
    SetConsoleTitle "Hello World!"
    
    'On affiche un message
    ConsolePrint "Hello World!" & vbCrLf
    
    'On se détache du processus parent
    FreeConsole
End Sub
Private Sub ConsolePrint(MsgOut As String)
    WriteConsole hConsole, MsgOut, Len(MsgOut), vbNull, vbNull
End Sub

Conclusion

Ce programme affichera "Hello World" dans la console DOS.

Ici seul la méthode 'AttachConsole' a été utilisé.

On aurait pu créér une console indépendante en utilisant la méthode Alloc avec le prototype suivant:
Private Declare Function AllocConsole Lib "kernel32" () As Long
 

Historique

23 mai 2007 16:40:21 :
-Petite erreur de saisie corrigée ;)

Commentaires et avis

signaler à un administrateur
Commentaire de MadM@tt le 23/05/2007 18:34:05

Code très interessant !
Merci je ne connaissais pas

signaler à un administrateur
Commentaire de EBArtSoft le 23/05/2007 22:26:13 administrateur CS

deja sur le site en au moins 10 exemplaires. On ne le dira jamais assez faite une petite recherche avant de poster,

enfin bref... :)

signaler à un administrateur
Commentaire de waluigii le 24/05/2007 01:24:18


Slt,

Code très intéressant: je l'accorde... mais EBARTSOFT a tout à fait raison sur ça...!

@+

signaler à un administrateur
Commentaire de sikimyway le 25/05/2007 19:11:52

merci de votre aide que DIEU vous benisse.
votre code est très passionnant.

signaler à un administrateur
Commentaire de burster42 le 26/05/2007 10:30:20

Bonjour à vous tous et merci pour vos commentaires.
Je suis entièrement d'accord avec toi EBartSoft mais leur code n'était pas aussi simple à comprendre que le mien. J'ai vraiment mis que le nécessaire pour pouvoir comprendre l'essentiel.

A bientôt ;-)

signaler à un administrateur
Commentaire de zifnig le 28/05/2007 08:58:10

C'est tout à fait ce que je cherchais et bien qu'il existait d'autres exemples sur codesources, ils ne cadraient pas avec ce que je cherchais.

Merci burster42.

signaler à un administrateur
Commentaire de EvildarkEurope le 21/08/2007 19:36:21

Super code
A+

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

AIDE TRES URGENT SVP SUR COMMANDE DOS SHELL [ par fakiridim ] luss'je galère un petit peu^avec ma console dosen fait j'arrive bien à lancer mon executable dos (shell monprog etc....) mais une fois que ce soft est DOS avec shell?? [ par psycomel ] Qui pourrait m'indiquer comment appelé une commande mS-DOS avec Shell.Merci de m'aider Shell avec prog DOS [ par jbdiogon ] Au secours !!Quand je lance une application .com dos avec shell, elle s'ouvre et se ferme toute seule, tout en étant minimisée, je n'ai même pas le te Console DOS [ par diablamanshadow ] voila voila tout d'abord bonjour,j'aimerais faire une console dos comme la source "kdos" mais en beaucoup moins complexe et assez vite serais ce possi Pb Shell fenetre ms-dos [ par rastabegood ] Bonjour,Est il possible avec la commande shell d'activer la fenetre ms dos et de pouvoir y accéder. Dans mon cas, la fenêtre s'ouvre mais se console.write VB.NET [ par ErB ] console.write("machin") en VB.NETdans le page_load n'ecrit absolument rien comment lui expliquer ca ???merci Pb avec Shell [ par Vince41 ] Bonjour à tous,Est-ce que qq'un connait un moyen de récupérer les données affichées dans un fenêtre DOS ?J'ai un exe DOS, je veux l'éxecuter par un pr Console Dos en VB [ par boudreauluc ] Dans le cadre d'un projet personnel, j'essaie de recréer un invite de commande ms-dos. Pour l'instant, j'essaie de créer des pipes avec un process cmd URGENT : Ecrire aide sur fenêtre DOS [ par Adrien ] Après avoir créé un exécutable, je n'arrive pas à orienter le texte d'aide sur la fenêtre DOS sans utiliser le send key,cela me permettrait également Récupérer le résultat d'une commande DOS [ par JFF ] Comment récuperer le résultat d'une commande DOS. Avec la commande Shell, je ne récupère rien (ex: shell("dir c:>liste.txt")).Merci d'avance.JFF.


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,530 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.