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

📄 otherdemodlg.cpp

📁 wavecom 短信猫开发示例 二次开发包
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// OtherDemoDlg.cpp : implementation file
//

#include "stdafx.h"
#include "CallSmsCom.h"
#include "OtherDemoDlg.h"
#include "XTTBasicDef.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

extern XTTSMSCOM::IModemServicePtr g_spiModemService;

HRESULT GetXMLChildNodeValue(MSXML2::IXMLDOMNodePtr& spiParentNode,CComBSTR bstrChildNodeName,CComBSTR& bstrChildNodeValue)
{
	if(spiParentNode==NULL)
		return E_INVALIDARG;
	MSXML2::IXMLDOMNodePtr spiChildNode=NULL;
	HRESULT hRet=spiParentNode->selectSingleNode(bstrChildNodeName,&spiChildNode);
	if(FAILED(hRet))
		return hRet;
	if(spiChildNode!=NULL)
		hRet=spiChildNode->get_text(&bstrChildNodeValue);
	return hRet;
}
/////////////////////////////////////////////////////////////////////////////
// COtherDemoDlg dialog

COtherDemoDlg::COtherDemoDlg(CWnd* pParent /*=NULL*/)
	: CDialog(COtherDemoDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(COtherDemoDlg)
	m_strTelNumber = _T("");
	m_strNewMsg = _T("");
	m_strTransferInfo = _T("");
	m_strXmlFile = _T("w:\\CustomDbConfig.xml");
	m_strWapushContent = _T("欢迎您访问中国移动梦网WAP网站!(此信息免费)");
	m_strWapushUrl = _T("http://wap.monternet.com");
	m_iWaitCount = 0;
	m_bAsynSend = TRUE;
	m_bPushIndication = TRUE;
	m_sSendPri = 16;
	m_lValidMinute = 5;
	m_sAction = -1;
	m_strSendTo = _T("13910138186");
	m_strSignName = _T("小沈");
	//}}AFX_DATA_INIT

	m_sSplitCount=0;
	m_arrSendTo.RemoveAll();
}

void COtherDemoDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(COtherDemoDlg)
	DDX_Control(pDX, IDC_DEMO_VALIDMINUTE, m_ctlValidMinute);
	DDX_Control(pDX, IDC_DEMO_SIGNNAME, m_ctlSignName);
	DDX_Control(pDX, IDC_DEMO_ACTION, m_ctlAction);
	DDX_Control(pDX, IDC_DEMO_WAPUSHCONTENT, m_ctlContent);
	DDX_Control(pDX, IDOK, m_ctlOK);
	DDX_Control(pDX, IDC_DEMO_WRITETELNUM, m_ctlWriteTelNumber);
	DDX_Control(pDX, IDC_DEMO_SMSDB, m_ctlSetSmsDb);
	DDX_Control(pDX, IDC_DEMO_SETTRANSFER, m_ctlSetTransferTel);
	DDX_Control(pDX, IDC_DEMO_SENDWAPPUSH, m_ctlSendPush);
	DDX_Control(pDX, IDC_DEMO_READTELNUM, m_ctlReadTelNumber);
	DDX_Control(pDX, IDC_DEMO_GETWAIT, m_ctlGetWait);
	DDX_Control(pDX, IDC_DEMO_GETTRANSFER, m_ctlGetTransTel);
	DDX_Control(pDX, IDC_DEMO_GETNEW, m_ctlGetNew);
	DDX_Control(pDX, IDC_DEMO_BROWSE, m_ctlBrowse);
	DDX_Text(pDX, IDC_DEMO_TELNUMBER, m_strTelNumber);
	DDX_Text(pDX, IDC_DEMO_NEWMSG, m_strNewMsg);
	DDX_Text(pDX, IDC_DEMO_TRANSFERINFO, m_strTransferInfo);
	DDX_Text(pDX, IDC_DEMO_XMLSMSDB, m_strXmlFile);
	DDX_Text(pDX, IDC_DEMO_WAPUSHCONTENT, m_strWapushContent);
	DDX_Text(pDX, IDC_DEMO_WAPUSHURL, m_strWapushUrl);
	DDX_Text(pDX, IDC_DEMO_SENDTO, m_strSendTo);
	DDX_Text(pDX, IDC_DEMO_SIGNNAME, m_strSignName);
	DDX_Text(pDX, IDC_DEMO_WAITCOUNT, m_iWaitCount);
	DDX_Check(pDX, IDC_DEMO_ASYNSEND, m_bAsynSend);
	DDX_Check(pDX, IDC_DEMO_PUSHWAPIND, m_bPushIndication);
	DDX_Text(pDX, IDC_DEMO_SENDPRI, m_sSendPri);
	DDV_MinMaxInt(pDX, m_sSendPri, 1, 32);
	DDX_Text(pDX, IDC_DEMO_VALIDMINUTE, m_lValidMinute);
	DDV_MinMaxLong(pDX, m_lValidMinute, 0, 4320);
	DDX_CBIndex(pDX, IDC_DEMO_ACTION, m_sAction);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(COtherDemoDlg, CDialog)
	//{{AFX_MSG_MAP(COtherDemoDlg)
	ON_BN_CLICKED(IDC_DEMO_WRITETELNUM, OnDemoWritetelnum)
	ON_BN_CLICKED(IDC_DEMO_READTELNUM, OnDemoReadtelnum)
	ON_BN_CLICKED(IDC_DEMO_GETNEW, OnDemoGetnew)
	ON_BN_CLICKED(IDC_DEMO_GETWAIT, OnDemoGetwait)
	ON_BN_CLICKED(IDC_DEMO_GETTRANSFER, OnDemoGettransfer)
	ON_BN_CLICKED(IDC_DEMO_SETTRANSFER, OnDemoSettransfer)
	ON_BN_CLICKED(IDC_DEMO_SMSDB, OnDemoSmsdb)
	ON_BN_CLICKED(IDC_DEMO_SENDWAPPUSH, OnDemoSendwappush)
	ON_BN_CLICKED(IDC_DEMO_BROWSE, OnDemoBrowse)
	ON_BN_CLICKED(IDC_DEMO_PUSHWAPIND, OnDemoPushwapind)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// COtherDemoDlg message handlers

BOOL COtherDemoDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	if(m_bPushIndication==TRUE)
	{
		m_ctlContent.EnableWindow(TRUE);
		m_ctlSignName.EnableWindow(TRUE);
		m_ctlValidMinute.EnableWindow(TRUE);
		m_ctlAction.AddString(_T("信号-无"));
		m_ctlAction.AddString(_T("信号-低"));
		m_ctlAction.AddString(_T("信号-中等"));
		m_ctlAction.AddString(_T("信号-高"));
		m_ctlAction.AddString(_T("信号-删除"));
		m_sAction=3;
	}
	else
	{
		m_ctlAction.AddString(_T("执行-高"));
		m_ctlAction.AddString(_T("执行-低"));
		m_ctlAction.AddString(_T("缓存"));
		m_sAction=0;
		m_ctlContent.EnableWindow(FALSE);
		m_ctlSignName.EnableWindow(FALSE);
		m_ctlValidMinute.EnableWindow(FALSE);
	}
	UpdateData(FALSE);
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void COtherDemoDlg::OnDemoWritetelnum() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	m_strTelNumber.TrimRight();
	m_strTelNumber.TrimLeft();
	if(g_spiModemService==NULL || m_strTelNumber.IsEmpty()==TRUE)
		return;
	XTTSMSCOM::EMobileModemStatus eModemStatus=XTTSMSCOM::UNINIT_STATUS;
	g_spiModemService->get_ModemStatus(&eModemStatus);
	if(eModemStatus<XTTSMSCOM::OK_STATUS)
	{
		::MessageBox(this->GetSafeHwnd(),_T("还没有正常连接短信猫!"),XTTSOFT_SMS_APPNAME,MB_OK);
		return;
	}
	//手机号码前要加国际代码86(表示中国)
	CComVariant varTel(m_strTelNumber);
	varTel.ChangeType(VT_BSTR);
	g_spiModemService->put_SimTelCode(varTel);
	CComVariant varErrDes;
	XTTSMSCOM::EMobileErrorType eErrType=XTTSMSCOM::OK_ERRTYPE;
	g_spiModemService->GetLastError(&varErrDes,&eErrType);//得到错误信息
	if(eErrType==XTTSMSCOM::OK_ERRTYPE)
		::MessageBox(this->GetSafeHwnd(),_T("设置成功!"),XTTSOFT_SMS_APPNAME,MB_OK);
}

void COtherDemoDlg::OnDemoReadtelnum() 
{
	// TODO: Add your control notification handler code here
	if(g_spiModemService==NULL)
		return;
	XTTSMSCOM::EMobileModemStatus eModemStatus=XTTSMSCOM::UNINIT_STATUS;
	g_spiModemService->get_ModemStatus(&eModemStatus);
	if(eModemStatus<XTTSMSCOM::OK_STATUS)
	{
		::MessageBox(this->GetSafeHwnd(),_T("还没有正常连接短信猫!"),XTTSOFT_SMS_APPNAME,MB_OK);
		return;
	}
	CComVariant varTelNumber;
	g_spiModemService->get_SimTelCode(&varTelNumber);
	if(varTelNumber.vt==VT_BSTR && varTelNumber.bstrVal!=NULL)
	{
		m_strTelNumber=varTelNumber.bstrVal;
		UpdateData(FALSE);
	}
}

void COtherDemoDlg::OnDemoGetnew() 
{
	// TODO: Add your control notification handler code here
	if(g_spiModemService==NULL)
		return;
	XTTSMSCOM::EMobileModemStatus eModemStatus=XTTSMSCOM::UNINIT_STATUS;
	g_spiModemService->get_ModemStatus(&eModemStatus);
	if(eModemStatus<XTTSMSCOM::OK_STATUS)
	{
		::MessageBox(this->GetSafeHwnd(),_T("还没有正常连接短信猫!"),XTTSOFT_SMS_APPNAME,MB_OK);
		return;
	}
	CComVariant varNewCount,varPosition;
	g_spiModemService->GetNewMsgCount(&varPosition,&varNewCount);
	CString strNewPosition(_T(""));
	if(varPosition.vt==VT_BSTR && varPosition.bstrVal!=NULL)
		strNewPosition=varPosition.bstrVal;
	varNewCount.ChangeType(VT_I2);
	int iNewCount=varNewCount.iVal;
	if(iNewCount>0)
	{
		m_strNewMsg.Format(_T("新短信数量:%d,位置:%s"),iNewCount,strNewPosition);
		UpdateData(FALSE);
	}
}

void COtherDemoDlg::OnDemoGetwait() 
{
	// TODO: Add your control notification handler code here
	if(g_spiModemService==NULL)
		return;
	XTTSMSCOM::EMobileModemStatus eModemStatus=XTTSMSCOM::UNINIT_STATUS;
	g_spiModemService->get_ModemStatus(&eModemStatus);
	if(eModemStatus<XTTSMSCOM::OK_STATUS)
	{
		::MessageBox(this->GetSafeHwnd(),_T("还没有正常连接短信猫!"),XTTSOFT_SMS_APPNAME,MB_OK);
		return;
	}
	CComVariant varWaitCount;

⌨️ 快捷键说明

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