StephRadio
Messages postés13Date d'inscriptionmardi 18 décembre 2012StatutMembreDernière intervention18 décembre 2012
-
31 mars 2011 à 15:35
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
1 avril 2011 à 16:13
Bonjour,
Je cherche à envoyer le message message à plusieurs applications, pour cela j'ai trouvé l'utilisation de HWND_BROADCAST, par contre je n'arrive pas à le faire fonctionner, l'application réceptrice ne reçoit du vide
Si quelqu'un sait comment utiliser cela entre plusieurs applications, cela me donnerai un sérieux coup de main.
StephRadio
Messages postés13Date d'inscriptionmardi 18 décembre 2012StatutMembreDernière intervention18 décembre 2012 1 avril 2011 à 16:05
voici la suite du code. j'ai repris cela d'une source du site qui fonctionne très bien lorsque je m'adresse à une application
Option Explicit
'Constante qui definit la fonction a executer par le Message Handler de Windows
Private Const GWL_WNDPROC = (-4)
'****Declaration API****
Private Declare Function RegisterWindowMessage Lib "user32" Alias _
"RegisterWindowMessageA" (ByVal lpString As String) As Long
Private Sub Bt_StartManuel_Click()
Call StartPlayer
End Sub
Private Sub Form_Load()
'Declaration to register custom messages
WM_ENVOI_NUMERIQUE = RegisterWindowMessage("WM_ENVOI_NUMERIQUE")
WM_ENVOI_ATOM = RegisterWindowMessage("WM_ENVOI_ATOM")
'On remplace l'adresse de la routine Standard par celle de notre procedure => Capture_Message_Windows
'Cela permet de faire passer les messages Windows dans notre procédure Capture_Message_Windows
'Save_WndProc_adresse, récupère l'adresse de la routine standard Windows
'ATTENTION, NE PAS MODIFIER LE NAME (Form1) DE LA Form1 CAR APPEL DU HANDLE (Me.hwnd)
Save_WndProc_Adresse = SetWindowLong(Me.hWnd, GWL_WNDPROC, AddressOf Capture_Message_Windows)
End Sub
Private Sub Form_Unload(Cancel As Integer)
'Restauration de l'adresse de la procédure standard avant de sortir du programme => C'est très important car risque de plantage Windows
Call SetWindowLong(Me.hWnd, GWL_WNDPROC, Save_WndProc_Adresse)
End Sub
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?