Accueil > > > ECRIRE DANS UNE CONSOLE AVEC VISUAL BASIC (WRITE IN A CONSOLE WITH VB)
ECRIRE DANS UNE CONSOLE AVEC VISUAL BASIC (WRITE IN A CONSOLE WITH VB)
Information sur la source
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 ;)
Sources du même auteur
Sources de la même categorie
Commentaires et avis
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.
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|