一,在.net中添加API的引用
1, 在方案總管中。按右鍵屬性,選擇“添加引用”
2, 選擇“com”選項卡,選擇“Messenger API Type Library”
3, 在引用的下面會出現“MessgerAPI”組件
二,添加使用者列表(有兩種方法)
1, 通過“檔案”->“從已儲存的檔案中匯入連絡人”,檔案格式為*.ctt,格式如下:
<?xml version="1.0"?>
<messenger>
<service name="Microsoft RTC Instant Messaging">
<contactlist>
<contact>hxuedong@nmdsy.com</contact>
<contact>cyaodong@nmdsy.com</contact>
<contact>sjianli@nmdsy.com</contact>
<contact>fdg@nmdsy.com</contact>
</contactlist>
</service>
</messenger>
遺憾的是,在這裡不能建立分組。這也是推薦的方法。
2, 通過API函數添加,再輔以鍵盤函數實現
(1),建立一個txt檔案,每行是一個郵箱名稱
hxuedong@nmdsy.com
cyaodong@nmdsy.com
(2)迴圈讀取txt檔案,並調用以下函數
MessengerAPI.MessengerClass g1=new MessengerAPI.MessengerClass();//.MessengerNativeClass();
g1.AddContact(0,郵箱名);
System.Windows.Forms.SendKeys.Send('\r'.ToString());//調用鍵盤的API函數(相當於點擊斷行符號)
System.Windows.Forms.SendKeys.Send('\r'.ToString());//調用鍵盤的API函數(相當於點擊斷行符號)
不推薦此種方法
二,通過API函數發資訊
MessengerAPI.Messenger m1=new MessengerAPI.MessengerClass();//執行個體化API類
MessengerAPI.IMessengerWindow m_Window;
object contact=m1.GetContact(目的郵箱名,"");//得到對方使用者的Contact
m_Window=(MessengerAPI.IMessengerWindow)m1.InstantMessage(contact);//開啟通新交談視窗
if(m_Window.IsClosed)
{
m_Window.Show();
}
System.Windows.Forms.SendKeys.Send("使用程式發的資訊");//發資訊
System.Windows.Forms.SendKeys.Send('\r'.ToString());//類比斷行符號
System.Windows.Forms.SendKeys.Send('\r'.ToString());//類比斷行符號
三,應用場合
和應用系統結合,Server端通過Messenger向用戶端發提示資訊,缺點是在server端安裝Windows Messenger,並且不能鎖定鍵盤(因為必需類比鍵盤)。由於Messger的後台庫不公開,只有出此下策拉。