⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smsg.h

📁 GSM Mobile收发短信
💻 H
字号:
// SMsg.h: interface for the CSMsg class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_SMSG_H__5BB1819B_AF94_4FBE_B5F4_DA6B2A67CE6C__INCLUDED_)
#define AFX_SMSG_H__5BB1819B_AF94_4FBE_B5F4_DA6B2A67CE6C__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "MsgSend.h"
#include "Serial.h"
#include "MsgRecv.h"
#include "THelp.h"
#include "Log.h"

const int  MAX_BUFFER_LEN = 4;
const int  CODE_OK = 1;
const int  CODE_ERR = 0;
const int  CSCA_ERR = -1000;
const int  CMGS_ERR = -1001;
const int  CNMI_ERR = -1002;
const int  CMGL_ERR = -1003;
const int  CMGD_ERR = -1004;
const int  CMGF_ERR = -1005;

typedef void (CALLBACK* NOTIFYPROC)(char strCalledNo[],char strCallingNo[],char strTime[],char strBody[],const bool IfSusscess);

class CSMsg  
{
public:
	CSMsg();
	virtual ~CSMsg();
public:
	int comOpen(const char* ComN);
	int comSetUp (const int Baudrate = (int)CSerial::EBaud9600,
								const int DataBits = (int)CSerial::EData8,
								const int Parity   = (int)CSerial::EParNone,
								const int StopBits = (int)CSerial::EStop1);
	int comHandshaking (const int eHandshake = (int)CSerial::EHandshakeOff);
	int comClose();

	int msgInit(const char* Cent = NULL,
		        const char* m_Com = NULL,
				const int Baudrate = (int)CSerial::EBaud9600,
				const int DataBits = (int)CSerial::EData8,
				const int Parity   = (int)CSerial::EParNone,
				const int StopBits =(int)CSerial::EStop1,
				const int eHandshake=(int)CSerial::EHandshakeOff);

	int msgSend(char* Body,char* Hand);
	int msgListSms(int Type,CMsgRecv& MR);//0-->没读,1-->已读;
	int msgRead(const CString& strContext,char strCalledNo[],char strCallingNo[],char strTime[],char strBody[]);
	int msgDel(int Index);
public:	
	//void WaitForComEvent(const char strATOrder[],CString* strEventValue);
	void WaitIncomeSms(const char strATOrder[],CString* strEventValue);
	int  IncomeSms(const int nIndex = -1);
	const bool DealWithComEcho(CString& strRecv,HANDLE hEvent);
public:
	//NOTIFYPROC	m_pNotifyProc;
	CRITICAL_SECTION Cs;
	void Lock();
	void UnLock();
	CSerial m_Com;//COM口对象
	
	CString m_RetValue;//COM返回的数据信息
	CString m_strAppendData;//附加数据信息
	char m_strSmsCentNum[20];//短信中心号码
	HANDLE m_hKillEvent;
	HANDLE m_hSendEvent;
    HANDLE m_hReadEvent;
	HANDLE m_hDelEvent;
	HANDLE m_hListEvent;

	HANDLE m_hCNMIEvent;
	HANDLE m_hCMGFEvent;
	HANDLE m_hCSCAEvent;

	HANDLE m_hAppendDataEvent;
	HANDLE m_hComEventThread;
	unsigned int m_nComEventThreadID;
	//DWORD  m_dwMailThreadID;
};
static unsigned __stdcall ComEventProc(LPVOID lpVoid);
//unsigned __stdcall WaitIncomeSms(LPVOID lpVoid);


#endif // !defined(AFX_SMSG_H__5BB1819B_AF94_4FBE_B5F4_DA6B2A67CE6C__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -