在Vs.net中使用MSN即時通訊軟件(下)
2024-07-10 13:01:24
供稿:網友
接收消息
判斷有新消息的方法就是接收的內容是否為“text”類型,代碼如下
private void ontextrecieved(messenger.imsgrimsession s,
messenger.imsgruser u, string header, string text,
ref bool default)
{
if(header.indexof("content-type: text/plain") != -1 &&
u.friendlyname != "hotmail")
{
messagewindow.appendtext(u.friendlyname + ": " + text + "/r/n");
currentuser = u;
default = false;
}
}
發送消息
將你要發送的消息輸入到“編輯”框,然后點“發送”按鈕,“編輯”框中的內容將由如下代碼發送出去:
private static string header =
"mime-version: 1.0/r/ncontent-type: text/plain;" +
"charset=utf-8/r/nx-mms-im-format: " +
"fn=ms%20shell%20dlg; ef=; co=0; cs=0; pf=0/r/n/r/n";
private void send_click(object sender, system.eventargs e)
{
currentuser.sendtext(header, this.sendtext.text,
messenger.mmsgtype.mmsgtype_all_results);
messagewindow.appendtext("you say: " + sendtext.text + "/r/n");
}
更新聯系人的狀態
我在listview中使用了不同的圖標來表示聯系人相應的狀態。當調用構造函數的時候,聯系人的狀態被第一次設置。當聯系人狀態改變的時候則調用onuserstatuschanged() 事件,更新聯系人的狀態。
private void onuserstatechanged(messenger.imsgruser user,
messenger.mstate state, ref bool default)
{
for(int i = 0; i < users.count; i++)
{
if(user == users.item(i))
{
listviewitem item = userlist.items[i];
item.imageindex = getstateimage(user.state);
}
}
}
小結
我希望大家會對這篇文章感興趣,通過這篇文章我們也了解了msn的一小部分功能。msn還有很多其他的功能等我們去挖掘。ok,現在我們知道了創建vs.net外接程序其實是一件很容易的事情,你可以由此創建出更多富有創造性的外接程序。