WM短信读取(C#)

// 采用DataGrid现实

// 读取收件箱内信息
private   void  button1_Click( object  sender, EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif        
{
            DataTable mydt 
= new DataTable();
            mydt.TableName 
= "InBox";
            mydt.Columns.Add(
new DataColumn("SenderName"typeof(string)));
            mydt.Columns.Add(
new DataColumn("SenderAddress"typeof(string)));
            mydt.Columns.Add(
new DataColumn("Subject"typeof(string)));
            mydt.Columns.Add(
new DataColumn("SendTime"typeof(string)));
            mydt.Columns.Add(
new DataColumn("ReceiveTime"typeof(string)));
            mydt.Columns.Add(
new DataColumn("SendTime1"typeof(DateTime)));
            mydt.Columns.Add(
new DataColumn("ReceiveTime1"typeof(DateTime)));
            
if (NetMAPI.MAPIInit())
ExpandedSubBlockStart.gifContractedSubBlock.gif            
{

                NetMAPI mapi 
= new NetMAPI();
                
if (mapi.Login())
ExpandedSubBlockStart.gifContractedSubBlock.gif                
{
                    
if (mapi.OpenMessageStore())
ExpandedSubBlockStart.gifContractedSubBlock.gif                    
{
  
                        
if (mapi.OpenInbox())
ExpandedSubBlockStart.gifContractedSubBlock.gif                        
{

                            
if (mapi.GetContents())
ExpandedSubBlockStart.gifContractedSubBlock.gif                            
{
                                
int count = mapi.GetRowCounts();
                                SmsMessage msg;
                                StringBuilder s 
= new StringBuilder(140);
                                
int i = 0;
                                DataRow dr;
                                
while (mapi.GetNextMessage(out msg, false))
ExpandedSubBlockStart.gifContractedSubBlock.gif                                
{
                                    i
++;
                                    
                                    dr 
= mydt.NewRow();
                                    
                                    msg.GetSenderName(s);
                                    dr[
"SenderName"= s.ToString();
                                    
//MessageBox.Show(s.ToString());
                                    msg.GetSenderEmail(s);
      
                                    dr[
"SenderAddress"= s.ToString();
                                    
//MessageBox.Show(aa);
                                    
//MessageBox.Show(s.ToString());
                                    msg.GetSubject(s);
                                    dr[
"Subject"= s.ToString();
ExpandedSubBlockStart.gifContractedSubBlock.gif                                    
/**/////MessageBox.Show(s.ToString());
                                    msg.GetSubmitTime(s);
                                    dr[
"SendTime"= s.ToString();
                                    msg.GetReceivedTime(s);
                                    dr[
"ReceiveTime"= s.ToString();
                                    msg.Dispose();
                                    mydt.Rows.Add(dr);
                                    
if (i == count - 1)
ExpandedSubBlockStart.gifContractedSubBlock.gif                                    
{
                                        
break;
                                    }


                                }


                            }

                        }


                    }

                    
                    mapi.Logout();
                }

            }

            
else
ExpandedSubBlockStart.gifContractedSubBlock.gif            
{
                MessageBox.Show(
"faile");
            }

            NetMAPI.Term();
            
this.dataGrid1.DataSource = mydt;
        }


// 读取发件箱内短信
private   void  button2_Click( object  sender, EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif        
{
            DataTable mydt 
= new DataTable();
            mydt.TableName 
= "SendedBox";
            mydt.Columns.Add(
new DataColumn("SenderName"typeof(string)));
            mydt.Columns.Add(
new DataColumn("SenderAddress"typeof(string)));
            mydt.Columns.Add(
new DataColumn("Subject"typeof(string)));
            mydt.Columns.Add(
new DataColumn("SendTime"typeof(string)));
            mydt.Columns.Add(
new DataColumn("ReceiveTime"typeof(string)));
            mydt.Columns.Add(
new DataColumn("SendTime1"typeof(DateTime)));
            mydt.Columns.Add(
new DataColumn("ReceiveTime1"typeof(DateTime)));
            
if (NetMAPI.MAPIInit())
ExpandedSubBlockStart.gifContractedSubBlock.gif            
{

                NetMAPI mapi 
= new NetMAPI();
                
if (mapi.Login())
ExpandedSubBlockStart.gifContractedSubBlock.gif                
{
                    
if (mapi.OpenMessageStore())
ExpandedSubBlockStart.gifContractedSubBlock.gif                    
{

                        
if (mapi.OpenSentItems())
ExpandedSubBlockStart.gifContractedSubBlock.gif                        
{

                            
if (mapi.GetContents())
ExpandedSubBlockStart.gifContractedSubBlock.gif                            
{

                                SmsMessage msg;
                                StringBuilder s 
= new StringBuilder(140);
                                StringBuilder s1 
= new StringBuilder(25);
                                StringBuilder s2 
= new StringBuilder(25);
                                
int i = 0;
                                DataRow dr;
                                
while (mapi.GetNextMessage(out msg, false))
ExpandedSubBlockStart.gifContractedSubBlock.gif                                
{
                                    i
++;

                                    dr 
= mydt.NewRow();
                                    msg.GetRecipients();
                                    SmsMessage.RecipientType tt;
                                    msg.GetNextRecipient(s1, s2, 
out tt);
                                    dr[
"SenderName"= s1.ToString();
      
                                    dr[
"SenderAddress"= s2.ToString();
                                    
//MessageBox.Show(aa);
                                    
//MessageBox.Show(s.ToString());
                                    msg.GetSubject(s);
                                    dr[
"Subject"= s.ToString();
ExpandedSubBlockStart.gifContractedSubBlock.gif                                    
/**/////MessageBox.Show(s.ToString());
                                    msg.GetSubmitTime(s);
                                    dr[
"SendTime"= s.ToString();
                                    msg.GetReceivedTime(s);
                                    dr[
"ReceiveTime"= s.ToString();
                                    msg.Dispose();
                                    mydt.Rows.Add(dr);
                                    
//if (i > 230)
                                    
//{
                                    
//    break;
                                    
//}

                                }


                            }

                        }


                    }


                    mapi.Logout();
                }

            }

            
else
ExpandedSubBlockStart.gifContractedSubBlock.gif            
{
                MessageBox.Show(
"faile");
            }

            NetMAPI.Term();
            
this.dataGrid1.DataSource = mydt;

        }

//这两段代码读取的是收件箱和发件箱里全部短信,还不是很理想.....

转载于:https://www.cnblogs.com/pclook/archive/2009/05/06/1450367.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值