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 FunctionNota: 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)