請問如何在程式中透過MSN發送訊息給連絡人? |
答題得分者是:RaynorPao
|
旅者
一般會員 發表:5 回覆:9 積分:2 註冊:2004-02-13 發送簡訊給我 |
小弟最近試著在程式中控制MSN...但卻碰到一些問題,因此希望跟各位大哥討論看看是否有法可解...^^ 小弟在BCB中以Import Type Library把MSN連結進來,並以如下方式登入MSN
IMessengerApp *pIMsgrApp; CoInitialize(0); CoCreateInstance(CLSID_MsgrApp, NULL, CLSCTX_ALL, IID_IMsgrApp, (void **)&pIMsgrApp); pIMsgrApp->autoLogon(); 並取得連絡人清單: IMsgrObject *pIMsgrObj; IMsgrUsers *pIMsgrUsers; CoCreateInstance(CLSID_MsgrObj, NULL, CLSCTX_ALL, IID_IMsgrObj, (void **)&pIMsgrObj); pIMsgrObj->get_List(MLIST_CONTACT,&pIMsgrUsers); 以上,都可正常動作,也可順利取得自己或連絡人的LogonName及暱稱..等資料 接著,問題來了....小弟要對其中一個連絡人發送訊息,於是... IMsgrUser *pIMsgrUser; Variant vName; long lCookie; pIMsgrUser = pIMsgrUsers->Item(0); Label4->Caption = AnsiString(pIMsgrUser->friendlyName); vName = pIMsgrUser->LogonName; 以下這個就是小弟的問題了... pIMsgrUser->SendText(NULL, L"Test...^^u",MMSGTYPE_ALL_RESULTS,&lCookie); 原以為這樣就可讓對方收到訊息....但結果是啥都沒收到....T_T 上面SendText的原型為 SendText(BSTR bstrMsgHeader/*[in]*/, BSTR bstrMsgText/*[in]*/, MMSGTYPE mmtType/*[in]*/, long* plCookie/*[out,retval]*/) 其中 bstrMsgHeader 因為小弟不知道是啥東東,所以就給它填了NULL..... 以上,請各位大哥指教,應該怎麼做才能在程式中透過MSN發送訊息給連絡人呢??小弟的E-mail:dsstar_y@yahoo.com.tw 小弟的MSN:dsstar@sinamail.com 如不便在此討論,可以E-mail或MSN討論看看...謝謝....^^u 請各位高手多多指教..... 發表人 - taishyang 於 2004/02/13 15:42:28 |
旅者
一般會員 發表:5 回覆:9 積分:2 註冊:2004-02-13 發送簡訊給我 |
不好意思..小弟終於在一個英文(T_T)網站上找到解法了...
其中的MsgHeader只要填入
"MIME-Version: 1.0\r\nContent-Type: text/plain\r\ncharset= UTF-8\r\nX-MMS-IM-Format: FN= Microsoft Sans Serif\r\nEF= 0\r\nCO= 0\r\nCS= 0\r\nPF= 0\r\n\r\n"
就能發訊了..
經測試,不論收發訊,英文是沒問題啦...但..中文就會變亂碼..
原因應該是UTF-8編碼的關係吧....
有人知道UTF-8與BIG5之間要如何轉換嗎??
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 不好意思..小弟終於在一個英文(T_T)網站上找到解法了... 其中的MsgHeader只要填入 "MIME-Version: 1.0\r\nContent-Type: text/plain\r\ncharset= UTF-8\r\nX-MMS-IM-Format: FN= Microsoft%20Sans%20Serif\r\nEF= 0\r\nCO= 0\r\nCS= 0\r\nPF= 0\r\n\r\n" 就能發訊了.. 經測試,不論收發訊,英文是沒問題啦...但..中文就會變亂碼.. 原因應該是UTF-8編碼的關係吧.... 有人知道UTF-8與BIG5之間要如何轉換嗎??旅者 你好: 有關 BIG5-->UNICODE-->UTF8 以及 UTF8-->UNICODE-->BIG5 的做法,請參考以下的連結文章 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=26917 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=26110 -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
旅者
一般會員 發表:5 回覆:9 積分:2 註冊:2004-02-13 發送簡訊給我 |
|
DigitalEvil
一般會員 發表:3 回覆:1 積分:0 註冊:2004-03-29 發送簡訊給我 |
|
旅者
一般會員 發表:5 回覆:9 積分:2 註冊:2004-02-13 發送簡訊給我 |
這個....Private是MSN本身的一些....Lock之類的東東..這個我並沒有用到..(也不想用..^^|||)
根據我的測試結果來判斷,我認為MSN其實只是Messenger的進化版本,所以..請你import "Messenger",而非"MSN"...裡面可以找到IMessengerApp,及TMsgrObj這兩樣...估計App指的是介面外觀,Obj指的是功能實體...因為在下測試時,使用App1及Obj1,會開啟Messenger...使用App3,Obj2..會開啟MSN..請將Messenger的執行檔(忘記檔名了..)載入,就會看到那堆Class..其中App2繼承App1..以此類推..
|
Theodore
一般會員 發表:11 回覆:10 積分:4 註冊:2003-05-15 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |