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

📄 smstest.h

📁 短信收发测试程序。程序通过手机发送短信给自己
💻 H
字号:
//#include "..\MsgType.h"
//#include "stdafx.h"
#include "ComPort.h"

#define GSM_7BIT		0
#define GSM_8BIT		4
#define GSM_UCS2		8

// 短消息参数结构,编码/解码共用
// 其中,字符串以0结尾
typedef struct {
	char SCA[16];			// 短消息服务中心号码(SMSC地址)
	char TPA[16];			// 目标号码或回复号码(TP-DA或TP-RA)
	char TP_PID;			// 用户信息协议标识(TP-PID)
	char TP_DCS;			// 用户信息编码方式(TP-DCS)
	char TP_SCTS[16];		// 服务时间戳字符串(TP_SCTS), 接收时用到
	char TP_UD[161];		// 原始用户信息(编码前或解码后的TP-UD)
	char index;				// 短消息序号,在读取时用到
}SM_PARAM;

//SMS参数结构
typedef struct {
	HWND hWnd;
	int CMGR_index;
    int sendcomport;            //发送手机端口
    int recvcomport;            //接收手机端口
	char phonenum[16];		// 目标号码或回复号码
	char content[161];		// 原始用户信息(编码前或解码后的TP-UD)
	char recvfolder[512];	//保存接收回来的短信
	char Pushdata[512];
	char centernum[16];      // 短信中心号码
	DWORD portrate;             //端口速率

	char SysPath[512];         //临时借用 传递参量
}SMS_PARAM;


class CSMSTest  : public CComPort
{
public:
	CSMSTest();
	~CSMSTest();
	BOOL sendsms(int portA ,char *phonenum,char *SMScontent,CString centernum);
	int recvsms(int portB,SMS_PARAM *param);
	BOOL readsms( SMS_PARAM *param );
	//BOOL InitialComPort();
	//void FreeComPort() ;
	void SethWnd(HWND hWnd);
	CString m_recv;
	
	UINT m_SMSIndex;
	CString m_recvFolder;	

	BOOL* m_Terminal;

	CString SysTemPath;
private:
	HANDLE com_handle;
	
	HINSTANCE DllInst,DllInst2;

//  bool (__stdcall *Send)(HANDLE m_hCom,char *sendstr);
//  char* (__stdcall *Receive)(HANDLE m_hCom);
   // int (__stdcall *gsmString2Bytes)(const char* pSrc, unsigned char* pDst, int nSrcLength);
	//int (__stdcall *gsmEncodePdu)(const SM_PARAM* pSrc, char* pDst);
	
public:
	//BOOL (__stdcall *Send)(UINT bComId,char *sendstr,int len);    
    //BOOL (__stdcall *Receive)(UINT bComId,char *recvstr,int &len);
    //BOOL (__stdcall *OpenPort)(UINT bComId,DWORD dwBaudRate);        
   // BOOL (__stdcall *ClosePort)(UINT bComId);
	//int (__stdcall *gsmDecodePdu)(const char* pSrc, SM_PARAM* pDst);


	BOOL InitPort(DWORD dwBaudRate);
	BOOL OpenPorte(UINT bComId,DWORD dwBaudRate);  
	BOOL ClosePorte(UINT bComId);
	BOOL Senddata( UINT bComId,char *sendstr,int len );
	BOOL Receivedata(UINT bComId,char *recvstr,int &len);

	int gsmBytes2String(const unsigned char* pSrc, char* pDst, int nSrcLength);
	int GsmString2Bytes(const char* pSrc, unsigned char* pDst, int nSrcLength);
	int gsmEncode7bit(const char* pSrc, unsigned char* pDst, int nSrcLength);
	int gsmDecode7bit(const unsigned char* pSrc, char* pDst, int nSrcLength);
	int gsmEncode8bit(const char* pSrc, unsigned char* pDst, int nSrcLength);
	int gsmDecode8bit(const unsigned char* pSrc, char* pDst, int nSrcLength);
	int gsmEncodeUcs2(const char* pSrc, unsigned char* pDst, int nSrcLength);
	int gsmDecodeUcs2(const unsigned char* pSrc, char* pDst, int nSrcLength);
	int gsmInvertNumbers(const char* pSrc, char* pDst, int nSrcLength);
	int gsmSerializeNumbers(const char* pSrc, char* pDst, int nSrcLength);
	int GsmEncodePdu(const SM_PARAM* pSrc, char* pDst);
	int GsmDecodePdu(const char* pSrc, SM_PARAM* pDst);
};


BOOL WINAPI SendSMS(SMS_PARAM *param ,
													BOOL* pStop,
													UINT DevId = 0 , 
													UINT TestCount = 1, 
													UINT TestInterval = 1000);

BOOL  RecvSMS(SMS_PARAM *param ,
													 BOOL* pStop,
													 UINT DevId = 0 , 
													 UINT TestCount = 1, 
													 UINT TestInterval = 1000);

⌨️ 快捷键说明

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