- 'Activer "Messenger API Type Library" dans les références.
-
- Option Explicit
-
- Private Const SND_ASYNC = &H1 'Joue le son en arrière-plan.
- Private Const SND_NODEFAULT = &H2
- Private Declare Function sndPlaySoundA Lib "WINMM.DLL" (ByVal lpszSoundName As String, ByVal ValueFlags As Long) As Long
-
- Dim MSN As MessengerAPI.Messenger
-
- Dim AncienEtat As MISTATUS
-
- Dim MSN_ID As Integer
-
- ' premiere chose à faire : retrouver l'index du contact à surveiller
-
- Private Sub Form_Load()
- Dim Compteur As Integer
- Set MSN = New MessengerAPI.Messenger
- For Compteur = 0 To MSN.MyContacts.Count - 1
- ' remplacer mon adresse avec celui que vous voulez surveiller...
- If UCase(MSN.MyContacts(Compteur).SigninName) = "ELAC@ONLINE.BE" Then
- MSN_ID = Compteur
- Exit For
- End If
- Next
- End Sub
-
- Private Sub Timer1_Timer()
- If AncienEtat <> MSN.MyContacts(MSN_ID).Status Then
- AncienEtat = MSN.MyContacts(MSN_ID).Status
- Label1.Caption = StateText(AncienEtat) & " depuis " & Format(Now, "hh:mm")
- If MSN.MyContacts(MSN_ID).Status = MISTATUS_ONLINE Then
- sndPlaySoundA "C:\WINDOWS\Media\Windows XP Insertion d'un matériel.wav", SND_ASYNC Or SND_NODEFAULT
- Else
- sndPlaySoundA "C:\WINDOWS\Media\Windows XP Suppression d'un matériel.wav", SND_ASYNC Or SND_NODEFAULT
- End If
- End If
- End Sub
-
-
- ' cette fontion permets de retrouver un descriptif des différents status.
- Private Function StateText(uState As MISTATUS) As String
- Select Case uState
- Case MISTATUS_AWAY
- StateText = "Absent"
- Case MISTATUS_BE_RIGHT_BACK
- StateText = "De retour dans une minute"
- Case MISTATUS_BUSY
- StateText = "Occupé"
- Case MISTATUS_IDLE
- StateText = "En attente"
- Case MISTATUS_INVISIBLE
- StateText = "Invisible"
- Case MISTATUS_LOCAL_CONNECTING_TO_SERVER
- StateText = "Connection au serveur Local"
- Case MISTATUS_LOCAL_DISCONNECTING_FROM_SERVER
- StateText = "Déconnection du serveur Local"
- Case MISTATUS_LOCAL_FINDING_SERVER
- StateText = "Recherche du serveur Local"
- Case MISTATUS_LOCAL_SYNCHRONIZING_WITH_SERVER
- StateText = "Synchronisation au serveur Local"
- Case MISTATUS_OFFLINE
- StateText = "Déconnecté"
- Case MISTATUS_ON_THE_PHONE
- StateText = "Au téléphone"
- Case MISTATUS_ONLINE
- StateText = "En ligne"
- Case MISTATUS_OUT_TO_LUNCH
- StateText = "Parti mangé"
- Case MISTATUS_UNKNOWN
- StateText = "Etat inconnu"
- Case Else
- StateText = "Etat indeterminé"
- End Select
- End Function
-
'Activer "Messenger API Type Library" dans les références.
Option Explicit
Private Const SND_ASYNC = &H1 'Joue le son en arrière-plan.
Private Const SND_NODEFAULT = &H2
Private Declare Function sndPlaySoundA Lib "WINMM.DLL" (ByVal lpszSoundName As String, ByVal ValueFlags As Long) As Long
Dim MSN As MessengerAPI.Messenger
Dim AncienEtat As MISTATUS
Dim MSN_ID As Integer
' premiere chose à faire : retrouver l'index du contact à surveiller
Private Sub Form_Load()
Dim Compteur As Integer
Set MSN = New MessengerAPI.Messenger
For Compteur = 0 To MSN.MyContacts.Count - 1
' remplacer mon adresse avec celui que vous voulez surveiller...
If UCase(MSN.MyContacts(Compteur).SigninName) = "ELAC@ONLINE.BE" Then
MSN_ID = Compteur
Exit For
End If
Next
End Sub
Private Sub Timer1_Timer()
If AncienEtat <> MSN.MyContacts(MSN_ID).Status Then
AncienEtat = MSN.MyContacts(MSN_ID).Status
Label1.Caption = StateText(AncienEtat) & " depuis " & Format(Now, "hh:mm")
If MSN.MyContacts(MSN_ID).Status = MISTATUS_ONLINE Then
sndPlaySoundA "C:\WINDOWS\Media\Windows XP Insertion d'un matériel.wav", SND_ASYNC Or SND_NODEFAULT
Else
sndPlaySoundA "C:\WINDOWS\Media\Windows XP Suppression d'un matériel.wav", SND_ASYNC Or SND_NODEFAULT
End If
End If
End Sub
' cette fontion permets de retrouver un descriptif des différents status.
Private Function StateText(uState As MISTATUS) As String
Select Case uState
Case MISTATUS_AWAY
StateText = "Absent"
Case MISTATUS_BE_RIGHT_BACK
StateText = "De retour dans une minute"
Case MISTATUS_BUSY
StateText = "Occupé"
Case MISTATUS_IDLE
StateText = "En attente"
Case MISTATUS_INVISIBLE
StateText = "Invisible"
Case MISTATUS_LOCAL_CONNECTING_TO_SERVER
StateText = "Connection au serveur Local"
Case MISTATUS_LOCAL_DISCONNECTING_FROM_SERVER
StateText = "Déconnection du serveur Local"
Case MISTATUS_LOCAL_FINDING_SERVER
StateText = "Recherche du serveur Local"
Case MISTATUS_LOCAL_SYNCHRONIZING_WITH_SERVER
StateText = "Synchronisation au serveur Local"
Case MISTATUS_OFFLINE
StateText = "Déconnecté"
Case MISTATUS_ON_THE_PHONE
StateText = "Au téléphone"
Case MISTATUS_ONLINE
StateText = "En ligne"
Case MISTATUS_OUT_TO_LUNCH
StateText = "Parti mangé"
Case MISTATUS_UNKNOWN
StateText = "Etat inconnu"
Case Else
StateText = "Etat indeterminé"
End Select
End Function