Un simple programme multi-thread

Contenu du snippet

On peut facilement créer une app. mutli-thread avec VB grace au VB !
Mais attention, c'est risqué ! (ça plante pour un rien)

A mettre dans un module et sub main en démarrage

Source / Exemple :


Public Const CTF_COINIT = &H8
Public Const CTF_INSIST = &H1
Public Const CTF_PROCESS_REF = &H4
Public Const CTF_THREAD_REF = &H2

Public Declare Function SHCreateThread Lib "shlwapi.dll" (ByVal pfnThreadProc As Long, pData As Any, ByVal dwFlags As Long, ByVal pfnCallback As Long) As Long
Private Declare Function GetCurrentThread Lib "kernel32" () As Long

Dim nb_t& ' Nombre de thread

Sub main()
    ' On crée les thread
    SHCreateThread AddressOf ShowMsgBox, ByVal 0&, CTF_INSIST, ByVal 0&
    SHCreateThread AddressOf ShowMsgBox, ByVal 0&, CTF_INSIST, ByVal 0&
    SHCreateThread AddressOf ShowMsgBox, ByVal 0&, CTF_INSIST, ByVal 0&
    
    MsgBox "Vous devez fermer les autres boites de dialogue avant de fermer celle-la", vbCritical, "Attention"
End Sub

Sub ShowMsgBox()
    nb_t = nb_t + 1
    Call MsgBox("Mstgbox executé depuis la thread n°" & nb_t, vbInformation, "Multi-Thread")
End Sub

A voir également

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.