SMS Cat 软件实施(C#) SMS Cat(简化测试版)实施
最编程
2024-05-07 16:00:32
...
这一部分比较麻烦,使用委托,回调函数 还有事件 有关详细信息参考MSDN。
1:
2: //委托 收到短信的回调函数委托
3: delegate void UpdataDelegate(); //可以有参数,本处不需要
4: UpdataDelegate UpdateHandle = null;
5:
6: private void Form1_Load(object sender, EventArgs e)
7: {......
8: gm.OnRecieved += new GSMModem.OnRecievedHandler(gm_OnRecieved);
9:
10: UpdateHandle = new UpdataDelegate(UpdateLabel8); //实例化委托
11:
12: }
13:
gm.OnRecieved += new GSMModem.OnRecievedHandler(gm_OnRecieved);句添加事件绑定,收到短信后将自动运行gm_OnRecieved函数
1: void gm_OnRecieved(object sender, EventArgs e)
2: {
3: Invoke(UpdateHandle, null);
4: }
函数内只有一句话:调用回调函数句柄UpdateHandle指向的函数
UpdateHandle = new UpdataDelegate(UpdateLabel8); //实例化委托
表明要调用的函数名为UpdateLabel8
1: void UpdateLabel8()
2: {
3: label8.Text = "有新消息";
4: label8.ForeColor = Color.Green;
5: }
函数体内更改控件Text属性,提示用户有新消息到来,此处亦可直接读取短信内容
读新消息:
1: gm.ReadMsgByIndex(gm.NewMsgIndex, out msgCenter, out phone, out msg, out time);
调用序号读取短信方法:只不过序号由属性NewMsgIndex提供