- 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