Messenger parte 2°

 

 Oggi è stata una giornata particolare, tra guai di amore, e le mie analisi per i problemi di salute che mi porto dietro da gennaio,arrivata sera scrivo due cose sul componente .net di messenger, nel post precedente usavo windows messenger come componente COM, il tutto funziona perfettamente, ma visto che uso visual studio 2005, perchè non usare un oggetto .NET, così ho dato un occhio all'assembly MessengerClient.dll.  Con questo piccolo esempio riesco a forzare una risposta automatica quando l'utente ha uno stato diverso da in linea.

    L'esempio qui sotto, è banale ma lavorandici su si possono fare di verse cosette interessanti, dimenticavo per far funzionare il tutto è necessario, compilare il nostro progetto come classe e trasferirlo nella Global Assembly Cache, per fare questo si può usare la GacUtil del frameworl, perchè un assembly possa essere installato nella Global Assembly Cache deve essere dotato di uno strong-name, dalla finestra My Project  selezionate la scheda Firma,selezionare "Firma Assembly", da "Scegli un file chiave con nome sicuro", selezionare "Nuova...". specifiare il nome e la password, quindi compilare il tutto, usare il GACUTIL per trasferirlo del Globla Assembly Cache e  aggiungere una chiave di registro AddInFeatureEnabled di tipo DWORD di valore = 1 nel percorso :HKEY_CURRENT_USER\ Software\ Microsoft\ MSNMessenger .

A questo punto sul menu di messenger sarà possibile aggiungere il nostro componente, che risponderà per voi in perfetto fiorentino...che volete di più!

Imports Microsoft.Messenger

Public Class Class1

   
Implements IMessengerAddIn

   Private WithEvents MioMessenger As MessengerClient

 
Public Sub Initialize(ByVal messenger As Microsoft.Messenger.MessengerClient) _
                       
Implements Microsoft.Messenger.IMessengerAddIn.Initialize

    MioMessenger= messenger


 End Sub


 Rem gestisco l'evento IncomingTextMessage

  Private Sub MioMessenger_IncomingTextMessage(ByVal sender As Object, _
                                           ByVal e As IncomingTextMessageEventArgs) _
                                           Handles MioMessenger.IncomingTextMessage

    Rem se il mio stato è diverso da non in linea
    If MioMessenger.LocalUser.Status <> UserStatus.Offline  Then
      MioMessenger.SendTextMessage("E ciò da fare nini.... e ti rispondo dopo!" , e.UserFrom)
    End If	
  End Sub

End Class
P.s. Il mio programmino per messenger lo trovate qui : http://xoomer.alice.it/serpiolle/ariborda.htm