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)