I found a useful website, though i'm still working on deciphering it. One thing I'm having trouble with is methods with no parameters (like the IMSessions method). I always get errors with them, but I think it must be a syntax issue.
Here is some code that I found with events:
Code:
using Interop.Messenger;
private void Form1_Load(object sender, System.EventArgs e)
{
//This next line creates our Messenger Class
MsgrObjectClass Msgr = new MsgrObjectClass();
//These 3 lines create the events to be used
Msgr.OnTextReceived += new DMsgrObjectEvents_OnTextReceivedEventHandler
(this.OnTextReceived);
Msgr.OnUnreadEmailChanged += new
DMsgrObjectEvents_OnUnreadEmailChangedEventHandler
(this.OnUnreadEmailChanged);
Msgr.OnUserStateChanged += new
DMsgrObjectEvents_OnUserStateChangedEventHandler
(this.OnUserStateChanged);
}
//The TextReceived Event
private void OnTextReceived(IMsgrIMSession Session, IMsgrUser User,
string Header, string MsgText, ref bool Enabled)
{
//Simply write this info to the textbox
textBox1.Text += User.ToString() + " " + Header.ToString();
textBox1.Text += " " + Text.ToString();
}
//The OnUnreadEmailChanged event
private void OnUnreadEmailChanged(Interop.Messenger.MFOLDER Folder,
int UnReadEmails, ref bool Enabled)
{
//Simply write this info to the textbox
textBox1.Text += "MFOLDER " + Folder.ToString();
textBox1.Text += "a " + UnReadEmails.ToString();
}
//The OnUserStateChanged event
private void OnUserStateChanged(Interop.Messenger.IMsgrUser User,
Interop.Messenger.MSTATE PreviousState, ref bool Enabled)
{
//Again simply write this info to the textbox
textBox1.Text += User.FriendlyName + "'s state has changed to "
+ User.State;
textBox1.Text += User.FriendlyName + "'s previous state was "
+ PreviousState;
}