Contacteador
[Informe por voz del cambio de sesiones en msn]

Fecha: 17/02/2003
Publicado: 18/Feb/2003
Autor: Jos� F. Romaniello


Utiliza el TTS de microsoft y las librer�as que se instalan autom�ticamente con msn messenger o windows messenger, y avisa por parlantes el cambio de estado de los usuarios, como as� tambi�n los mensajes que los mismos mandan.

El proyecto cuenta de un formulario con un solo control Microsoft Direct Text-To-Speech (xvoice.dll)

A continuaci�n sigue c�digo en Visual Basic:

Option Explicit
Dim WithEvents MSN As MsgrObject
Attribute MSN.VB_VarHelpID = -1

Private Sub Form_Load()
    Set MSN = New Messenger.MsgrObject
    ss.Speed = 100
End Sub

Private Sub Search.OnTextReceived(ByVal pIMSession As Messenger.IMsgrIMSession, _
ByVal pSourceUser As Messenger.IMsgrUser, _
ByVal bstrMsgHeader As String, _
ByVal bstrMsgText As String, _
pfEnableDefault As Boolean)

Dim a As String
If bstrMsgText <> Chr(13) & Chr(10) Then
'chr(13) & chr(10) es lo que se recibe
'cuando el usuario esta escribiendo un mensaje
    a = NickName(pSourceUser.EmailAddress) & " dice : " & bstrMsgText
    ss.Speak NickName(pSourceUser.EmailAddress) & " dice : " & bstrMsgText
End If
End Sub

Private Sub Search.OnUserStateChanged(ByVal pUser As Messenger.IMsgrUser, _
ByVal mPrevState As Messenger.MSTATE, _
pfEnableDefault As Boolean)

Dim m As String
m = pUser.FriendlyName
m = NickName(pUser.EmailAddress)

Select Case pUser.State  'el estado al que el usuario cambio.
    Case 2
        m = m & " inici� sesi�n.."
    Case 10
        m = m & " est� no disponible.."
    Case 14
        m = m & " vu�lve en seguida.."
    Case 34
        m = m & " est� ausente.."
    Case 50
        m = m & " est� al tel�fono.."
    Case 66
        m = m & " sali� a comer..."
    Case 1
        m = m & " est� sin conexi�n.."
End Select
ss.Speak m
End Sub

Private Function NickName(s As String) As String
NickName = Mid(s, 1, InStr(1, s, "@") - 1)
'esta funci�n quita el @dominio.xxx.xx
'y deja solo la primera parte
End Function

Nota: el programa debe ser ejecutado despu�s de iniciada la sesi�n del messenger local, y debe ser cerrado antes de cerrar la misma.

Finalmente el c�digo fuente.

contacteador.zip (2.25 KB)


ir al índice