Pocket 通過MAPI閱讀簡訊

2021-04-20 01:57:50 字數 1989 閱讀 8010

不用多說,看**吧

需要標頭檔案

#include "cemapi.h"

#include "mapidefs.h"

#include "mapiutil.h"

庫檔案cemapi.lib

//依此讀每條記錄

hresult readmessage(imsgstore *pstore, lpctstr pszfilename)

};static const sizedsproptagarray(3, spta) = ;

lpentryid pentryid = null;

ulong cbentryid = 0;

ccomptrpfolder;     //資料夾

ccomptrptbl;

ulong ulobjtype = 0;

srowset *prowset = null;

//首先獲取收件箱的id;

hr = pstore->getreceivefolder(null, mapi_unicode, &cbentryid, &pentryid, null);

//然後通過id來開啟物件

hr = pstore->openentry(cbentryid, pentryid, null, 0, &ulobjtype, (lpunknown*)&pfolder);

assert(ulobjtype == mapi_folder);

//得到資料夾

hr = pfolder->getcontentstable(0,&ptbl);

//再通過資料夾得到裡面的各檔案

hr = ptbl->sorttable((ssortorderset*)&sortorderset,0);

//設定我們要查詢的物件

hr = ptbl->setcolumns((sproptagarray*)&spta,0);

//最後依次讀取每條記錄

while(true)

;filetimetosystemtime(&pval[2].value.ft, &st);

//顯示結果

afxmessagebox(pszfilename);

afxmessagebox(pszsender);

afxmessagebox(pszsubject);

}return hr;

}//開啟sms得到記錄,讀取簡訊的函式

hresult readsmsmessage(imapisession *psession, lpctstr pszfilename)

;hresult hr;

srowset *prowset = null;      //相當於table的一條記錄

ccomptrptbl;      //isession首先要獲得的介面,table相當於乙個資料庫

ccomptrpstore;

hr = psession->getmsgstorestable(0, &ptbl);

//設定一下資料庫中我們要查詢的列

hr = ptbl->setcolumns((sproptagarray*)&spta,0);

//然後進入查詢狀態

while(true)

}freeprows(prowset);

prowset = null;

return hr;

}void cmysmsreaddlg::onbnclickedbuttonstartserver()

hr = mapilogonex(0,null,null,0,(lpmapisession*)&psession);   //進入mapi獲取isession介面

//開始讀取簡訊的內容

readsmsmessage(psession, l"testfilename");

//最後的退出處理

hr = psession->logoff(0,0,0);

psession = null;

mapiuninitialize();

}

通過Bundle傳遞Map型別資料

可能通過其他更好的方法可以傳遞,先記錄我知道的這個方法吧。大家指正和幫忙改進。大家知道bundle物件只能傳遞一些基本型別和字串之類的,不能直接傳入map型別的資料,所以就暫時在情急之下想了乙個複雜的方法,雖然不好,但有效。但是只能傳遞引數都為基本型別或者string型別的。mapmap bundl...

機器學習 感知機模型(pocket演算法)實現

這裡使用pocket演算法 pocket演算法的思想非常簡單,在搜尋w的時候,不斷記錄最好的準確率和w。這樣即使資料不是線性可分的,也可以得到比較好的測試結果 只要不斷的提高迭代的次數 資料 計算準確率函式 計算錯誤率 def checkerrorrate testmatdata,testlabel...

通過標準庫管理集合 set和map

目錄 通過標準庫管理集合 setmap 總結 管理元素集合的stl容器分為兩類 序列式容器將元素置於特定位置,該位置由插入的時間和地點決定,與元素本身的值無關,如vector和list。關聯式容器會根據特定的排列順序將元素置於適當位置,如set和map。下面介紹set和map。include用來將s...