// VcDemoDlg.cpp : implementation file // #include "stdafx.h" #include "VcDemo.h" #include "VcDemoDlg.h" #include // #include "SetTimeDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif //--------------------------------------------------------------------------- typedef int (__stdcall *FnMongateChangePwd)(int sock, const char* pszAccount, const char* pszOldPwd, const char* pszNewPwd); typedef int (__stdcall *FnMongateConnect)(const char* pszIP, int iPort, const char* pszAccount, const char* pszPwd); typedef void (__stdcall *FnMongateDisconnect)(int sock); typedef int (__stdcall *FnMongateGetSms)(int sock, char strMsg[500][255]); typedef int (__stdcall *FnMongateGetSmsEx)(int sock, char *strMsg); typedef int (__stdcall *FnMongateGetVer)(); typedef int (__stdcall *FnMongateTestConn)(int sock); typedef int (__stdcall *FnMongateQueryBalance)(int sock); typedef int (__stdcall *FnMongateQueryUsed)(int sock); typedef int (__stdcall *FnMongateRecharge)(int sock, const char *pszCardNo, const char* pszCardPwd); typedef int (__stdcall *FnMongateVasSendSms)(int sock, const char* pszFeeCode, const char* pszServiceNo, const char* pszOperCode, const char* pszMatchNo, const char* pszMobis,const char* pszMsg, int iMobiCounts); typedef int (__stdcall *FnMongateSendSms)(int sock, char* pszMobi, char* pszMsg); typedef int (__stdcall *FnMongateCsSendSms)(int sock, const char* pszMobis, const char* pszMsg, int iMobiCount, char* pszSN); typedef int (__stdcall *FnMongateCsSPSendSms)(int sock, const char* pszMobis, const char* pszMsg, int iMobiCount, const char* pszSubPort, char* pszSN); //const char* pszMsg, int iMobiCount, const char* pszSubPort,int msgPkid, char* pszSN); typedef int (__stdcall *FnMongateCsGetStatusReport)(int sock, char strMsg[500][255]); typedef int (__stdcall *FnMongateCsGetStatusReportEx)(int sock, char *strMsg); //20070327 fq typedef int (__stdcall *FnMongateCsSendTime)(int sock,int iType,const char* pBeginDate,const char* pEndDate,int iFlag,const char* Time, int iMobiCount,const char* pszMsg,const char* pTelNos); typedef int (__stdcall *FnMongateCsDelSendTime)(int sock,int iNum); typedef int (__stdcall *FnMongateCsUpdateSendTime)(int sock, int iNumber, int iType, const char* pBeginDate, const char* pEndDate, int iFlag, const char* Time, int iMobiCount, const char* pszMsg, const char* pTelNos); typedef int (__stdcall *FnMongateCsDelAllSendTime)(int sock); typedef int (__stdcall *FnMongateCsReadSendTime)(int sock,int iNumber,int iType,char pStrMessage[10][1024]); typedef int (__stdcall *FnMongateCsUpdateTelListSendTime)(int sock,int iNumber,int iNum,const char* pTelNos); typedef int (__stdcall *FnMongateCsReadTelListSendTime)(int sock,int iNumber,char* pStrMessage); typedef int (__stdcall *FnMongateChangePwdHttp)(int sock, const char* pszAccount, const char* pszOldPwd, const char* pszNewPwd); typedef int (__stdcall *FnMongateConnectHttp)(const char* pszIP, int iPort, const char* pszAccount, const char* pszPwd); typedef void (__stdcall *FnMongateDisconnectHttp)(int sock); typedef int (__stdcall *FnMongateGetSmsHttp)(int sock, char strMsg[500][255]); typedef int (__stdcall *FnMongateGetSmsHttpEx)(int sock, char *strMsg); typedef int (__stdcall *FnMongateGetVerHttp)(); typedef int (__stdcall *FnMongateTestConnHttp)(int sock); typedef int (__stdcall *FnMongateQueryBalanceHttp)(int sock); typedef int (__stdcall *FnMongateQueryUsedHttp)(int sock); typedef int (__stdcall *FnMongateRechargeHttp)(int sock, const char *pszCardNo, const char* pszCardPwd); typedef int (__stdcall *FnMongateVasSendSmsHttp)(int sock, const char* pszFeeCode, const char* pszServiceNo, const char* pszOperCode, const char* pszMatchNo, const char* pszMobis,const char* pszMsg, int iMobiCounts); typedef int (__stdcall *FnMongateSendSmsHttp)(int sock, char* pszMobi, char* pszMsg); typedef int (__stdcall *FnMongateCsSendSmsHttp)(int sock, const char* pszMobis, const char* pszMsg, int iMobiCount, char* pszSN); typedef int (__stdcall *FnMongateCsSPSendSmsHttp)(int sock, const char* pszMobis, const char* pszMsg, int iMobiCount, const char* pszSubPort, char* pszSN); //const char* pszMsg, int iMobiCount, const char* pszSubPort,int msgPkid, char* pszSN); typedef int (__stdcall *FnMongateCsGetStatusReportHttp)(int sock, char strMsg[500][255]); typedef int (__stdcall *FnMongateCsGetStatusReportHttpEx)(int sock, char *strMsg); //20070327 fq typedef int (__stdcall *FnMongateCsSendTimeHttp)(int sock,int iType,const char* pBeginDate,const char* pEndDate,int iFlag,const char* Time, int iMobiCount,const char* pszMsg,const char* pTelNos); typedef int (__stdcall *FnMongateCsDelSendTimeHttp)(int sock,int iNum); typedef int (__stdcall *FnMongateCsUpdateSendTimeHttp)(int sock, int iNumber, int iType, const char* pBeginDate, const char* pEndDate, int iFlag, const char* Time, int iMobiCount, const char* pszMsg, const char* pTelNos); typedef int (__stdcall *FnMongateCsDelAllSendTimeHttp)(int sock); typedef int (__stdcall *FnMongateCsReadSendTimeHttp)(int sock,int iNumber,int iType,char pStrMessage[10][1024]); typedef int (__stdcall *FnMongateCsUpdateTelListSendTimeHttp)(int sock,int iNumber,int iNum,const char* pTelNos); typedef int (__stdcall *FnMongateCsReadTelListSendTimeHttp)(int sock,int iNumber,char* pStrMessage); typedef int (__stdcall *FnMongateTestMsg)(int sock,const char* pStrMessage); typedef int (__stdcall *FnMongateTestMsgHttp)(int sock,const char* pStrMessage); typedef int (__stdcall *FnMGhexChrTosrcStr)(const char* srcMsg,char* retMsg); typedef int (__stdcall *FnMongateKxtSend)(int sock, const char* pszMobis, const char* pszMsg, int iMobiCount, char* pszSN); typedef int (__stdcall *FnMongateKxtSendHttp)(int sock, const char* pszMobis, const char* pszMsg, int iMobiCount, char* pszSN); typedef int (__stdcall *FnMGQueryAccount)(int sock ,const char * pReserve,char* pReStr); typedef int (__stdcall *FnMongateCsReadSendTimeEx)(int sock,int iNumber,int iType,char *strMsg); typedef int (__stdcall *FnMongateCsReadSendTimeHttpEx)(int sock,int iNumber,int iType,char *strMsg); //--------------------------------------------------------------------------- HMODULE g_hDll; FnMongateChangePwd MongateChangePwd; FnMongateConnect MongateConnect; FnMongateDisconnect MongateDisconnect; FnMongateGetSms MongateCsGetSms; FnMongateGetSms MongateVasGetSms; FnMongateGetVer MongateGetVer; FnMongateTestConn MongateTestConn; FnMongateQueryBalance MongateQueryBalance; FnMongateRecharge MongateRecharge; FnMongateVasSendSms MongateVasSendSms; FnMongateSendSms MongateSendSms; FnMongateQueryUsed MongateQueryUsed; FnMongateCsSendSms MongateCsSendSms; FnMongateCsGetStatusReport MongateCsGetStatusReport; //20070327 fq FnMongateCsSendTime MongateCsSendTime; FnMongateCsDelSendTime MongateCsDelSendTime; FnMongateCsUpdateSendTime MongateCsUpdateSendTime; FnMongateCsDelAllSendTime MongateCsDelAllSendTime; FnMongateCsReadSendTime MongateCsReadSendTime; FnMongateCsUpdateTelListSendTime MongateCsUpdateTelListSendTime; FnMongateCsReadTelListSendTime MongateCsReadTelListSendTime; FnMongateChangePwdHttp MongateChangePwdHttp; FnMongateConnectHttp MongateConnectHttp; FnMongateDisconnectHttp MongateDisconnectHttp; FnMongateGetSmsHttp MongateCsGetSmsHttp; FnMongateGetSmsHttp MongateVasGetSmsHttp; FnMongateGetVerHttp MongateGetVerHttp; FnMongateTestConnHttp MongateTestConnHttp; FnMongateQueryBalanceHttp MongateQueryBalanceHttp; FnMongateRechargeHttp MongateRechargeHttp; FnMongateVasSendSmsHttp MongateVasSendSmsHttp; FnMongateSendSmsHttp MongateSendSmsHttp; FnMongateQueryUsedHttp MongateQueryUsedHttp; FnMongateCsSendSmsHttp MongateCsSendSmsHttp; FnMongateCsGetStatusReportHttp MongateCsGetStatusReportHttp; //20070327 fq FnMongateCsSendTimeHttp MongateCsSendTimeHttp; FnMongateCsDelSendTimeHttp MongateCsDelSendTimeHttp; FnMongateCsUpdateSendTimeHttp MongateCsUpdateSendTimeHttp; FnMongateCsDelAllSendTimeHttp MongateCsDelAllSendTimeHttp; FnMongateCsReadSendTimeHttp MongateCsReadSendTimeHttp; FnMongateCsUpdateTelListSendTimeHttp MongateCsUpdateTelListSendTimeHttp; FnMongateCsReadTelListSendTimeHttp MongateCsReadTelListSendTimeHttp; FnMongateTestMsg MongateTestMsg; FnMongateTestMsgHttp MongateTestMsgHttp; FnMongateCsSPSendSms MongateCsSPSendSms; FnMongateCsSPSendSmsHttp MongateCsSPSendSmsHttp; FnMongateCsGetStatusReportHttpEx MongateCsGetStatusReportHttpEx; FnMongateGetSmsHttpEx MongateGetSmsHttpEx; FnMongateCsGetStatusReportEx MongateCsGetStatusReportEx; FnMongateGetSmsEx MongateGetSmsEx; FnMGhexChrTosrcStr MGhexChrTosrcStr; FnMongateKxtSend MongateKxtSend; FnMongateKxtSendHttp MongateKxtSendHttp; FnMGQueryAccount MGQueryAccount; FnMongateCsReadSendTimeEx MongateCsReadSendTimeEx; FnMongateCsReadSendTimeHttpEx MongateCsReadSendTimeHttpEx; ///////////////////////////////////////////////////////////////////////////// // CVcDemoDlg dialog int myflag=0; int TCPHTTPflag=0; char* convertMOMsg(const char* srcMsg,char* retStr); CVcDemoDlg::CVcDemoDlg(CWnd* pParent /*=NULL*/) : CDialog(CVcDemoDlg::IDD, pParent) { //{{AFX_DATA_INIT(CVcDemoDlg) m_strSendSms = _T(""); m_strLoginID = _T(""); m_strLoginPwd = _T(""); m_strRecvMobi = _T(""); m_strServiceNo = _T(""); m_strFeeCode = _T(""); m_strLinkID = _T(""); m_strNewPwd = _T(""); m_chkboth = FALSE; m_kfboth = FALSE; m_chksingle = TRUE; m_mobicount = 0; m_Port = 8018; m_ServerIp = _T(""); m_TCPFlag = 0; m_CHK_Flag = FALSE; m_NumberNo = _T(""); //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); m_hsock = 0; } void CVcDemoDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CVcDemoDlg) DDX_Control(pDX, IDC_BTN_SEND, m_btnSend); DDX_Control(pDX, IDC_BTN_CONNECT, m_btnConn); DDX_Control(pDX, IDC_LST_SMS, m_listCtrl); DDX_Text(pDX, IDC_EDT_SMS, m_strSendSms); DDV_MaxChars(pDX, m_strSendSms, 140); DDX_Text(pDX, IDC_EDT_LOGIN_ID, m_strLoginID); DDV_MaxChars(pDX, m_strLoginID, 11); DDX_Text(pDX, IDC_EDT_LOGIN_PWD, m_strLoginPwd); DDV_MaxChars(pDX, m_strLoginPwd, 6); DDX_Text(pDX, IDC_EDT_RECV_MOBI, m_strRecvMobi); DDX_Text(pDX, IDC_EDT_SERVICE_NO, m_strServiceNo); DDX_Text(pDX, IDC_EDT_FEE_CODE, m_strFeeCode); DDV_MaxChars(pDX, m_strFeeCode, 6); DDX_Text(pDX, IDC_EDT_LINKID, m_strLinkID); DDX_Text(pDX, IDC_EDT_NEW_PWD, m_strNewPwd); DDX_Check(pDX, IDC_CHK_BOTH, m_chkboth); DDX_Check(pDX, IDC_CHK_KFBOTH, m_kfboth); DDX_Check(pDX, IDC_CHK_SINGLE, m_chksingle); DDX_Text(pDX, IDC_EDT_NUM, m_mobicount); DDX_Text(pDX, IDC_EDT_PORT, m_Port); DDX_Text(pDX, IDC_EDT_SERVER, m_ServerIp); DDX_Radio(pDX, IDC_RADIO_TCP, m_TCPFlag); DDX_Check(pDX, IDC_CHECK_Flag, m_CHK_Flag); DDX_Text(pDX, IDC_EDIT_NumberNo, m_NumberNo); DDV_MaxChars(pDX, m_NumberNo, 7); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CVcDemoDlg, CDialog) //{{AFX_MSG_MAP(CVcDemoDlg) ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_BTN_CONNECT, OnBtnConnect) ON_BN_CLICKED(IDC_BTN_RECV, OnBtnRecv) ON_WM_DESTROY() ON_BN_CLICKED(IDC_BTN_SEND, OnBtnSend) ON_BN_CLICKED(IDC_BTN_QUERY, OnBtnQuery) ON_BN_CLICKED(IDC_BTN_Query2, OnBTNQuery2) ON_BN_CLICKED(IDC_BTN_CHANGE_PWD, OnBtnChangePwd) ON_BN_CLICKED(IDC_BTN_TEST_CONN, OnBtnTestConn) ON_BN_CLICKED(IDC_BTN_GET_STATUS, OnBtnGetStatus) ON_BN_CLICKED(IDC_CHK_SINGLE, OnChkSingle) ON_BN_CLICKED(IDC_CHK_BOTH, OnChkBoth) ON_BN_CLICKED(IDC_CHK_KFBOTH, OnChkKfboth) ON_BN_CLICKED(IDC_BTN_DISCONN, OnBtnDisconn) ON_BN_CLICKED(IDC_BUTTON_SetTime, OnBUTTONSetTime) ON_BN_CLICKED(IDC_RADIO_TCP, OnRadioTcp) ON_BN_CLICKED(IDC_RADIO_HTTP, OnRadioHttp) ON_BN_CLICKED(IDC_BUTTON_CheckMsg, OnBUTTONCheckMsg) ON_BN_CLICKED(IDC_CHECK_Flag, OnCHECKFlag) ON_BN_CLICKED(IDC_BUTTON_Account, OnBUTTONAccount) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CVcDemoDlg message handlers char* convertMOMsg(const char* srcMsg,char* retStr) { char srctemp[256]={0},strTemp[256]={0}; char *p=NULL; int i=4; p=strstr(srcMsg,","); while (i>0) { p=strstr(p+1,","); i--; } strncpy(srctemp,srcMsg,p-srcMsg+1); if (1==MGhexChrTosrcStr(p+1,strTemp)) { strcat(srctemp,strTemp); } strcpy(retStr,srctemp); return retStr; } BOOL CVcDemoDlg::OnInitDialog() { CDialog::OnInitDialog(); // Set the icon for this dialog. The framework does this automatically // when the application's main window is not a dialog SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon // TODO: Add extra initialization here char lpszPath[512]={0}; char temppath[512]={0}; char path[512] = {0}; CString temp; // GetModuleFileName(AfxGetInstanceHandle(),lpszPath,512); GetModuleFileName(AfxGetInstanceHandle(),lpszPath,512); temp=lpszPath; temp.TrimLeft(); temp.TrimRight(); while (temp.Find("\\")!=-1) { char pp[50]={0}; strcpy(pp,temp.Left(temp.Find("\\")+1)); strcat(temppath,pp); temp=temp.Mid(temp.Find("\\")+1); } strcpy(FilePath,temppath); strcpy(path,FilePath); strcat(path, "MWGateway.dll"); if (NULL == (g_hDll = ::LoadLibrary(path))) { AfxMessageBox("加载MWGateway.dll失败!"); exit(0); } MongateChangePwd = (FnMongateChangePwd)::GetProcAddress(g_hDll, "MongateChangePwd"); MongateConnect = (FnMongateConnect)::GetProcAddress(g_hDll, "MongateConnect"); MongateDisconnect = (FnMongateDisconnect)::GetProcAddress(g_hDll, "MongateDisconnect"); MongateCsGetSms = (FnMongateGetSms)::GetProcAddress(g_hDll, "MongateCsGetSms"); MongateVasGetSms = (FnMongateGetSms)::GetProcAddress(g_hDll, "MongateVasGetSms"); MongateGetVer = (FnMongateGetVer)::GetProcAddress(g_hDll, "MongateGetVer"); MongateTestConn = (FnMongateTestConn)::GetProcAddress(g_hDll, "MongateTestConn"); MongateQueryBalance = (FnMongateQueryBalance)::GetProcAddress(g_hDll, "MongateQueryBalance"); MongateRecharge = (FnMongateRecharge)::GetProcAddress(g_hDll, "MongateRecharge"); MongateVasSendSms = (FnMongateVasSendSms)::GetProcAddress(g_hDll, "MongateVasSendSms"); MongateSendSms = (FnMongateSendSms)::GetProcAddress(g_hDll, "MongateSendSms"); MongateQueryUsed = (FnMongateQueryUsed)::GetProcAddress(g_hDll, "MongateQueryUsed"); MongateCsSendSms = (FnMongateCsSendSms)::GetProcAddress(g_hDll, "MongateCsSendSms"); MongateCsGetStatusReport = (FnMongateCsGetStatusReport)::GetProcAddress(g_hDll, "MongateCsGetStatusReport"); MongateCsSendTime = (FnMongateCsSendTime)::GetProcAddress(g_hDll, "MongateCsSendTime"); MongateCsDelSendTime = (FnMongateCsDelSendTime)::GetProcAddress(g_hDll, "MongateCsDelSendTime"); MongateCsUpdateSendTime = (FnMongateCsUpdateSendTime)::GetProcAddress(g_hDll, "MongateCsUpdateSendTime"); MongateCsDelAllSendTime = (FnMongateCsDelAllSendTime)::GetProcAddress(g_hDll, "MongateCsDelAllSendTime"); MongateCsReadSendTime = (FnMongateCsReadSendTime)::GetProcAddress(g_hDll, "MongateCsReadSendTime"); MongateCsUpdateTelListSendTime = (FnMongateCsUpdateTelListSendTime)::GetProcAddress(g_hDll, "MongateCsUpdateTelListSendTime"); MongateCsReadTelListSendTime = (FnMongateCsReadTelListSendTime)::GetProcAddress(g_hDll, "MongateCsReadTelListSendTime"); MongateTestMsg = (FnMongateTestMsg)::GetProcAddress(g_hDll, "MongateTestMsg"); MongateChangePwdHttp = (FnMongateChangePwdHttp)::GetProcAddress(g_hDll, "MongateChangePwdHttp"); MongateConnectHttp = (FnMongateConnectHttp)::GetProcAddress(g_hDll, "MongateConnectHttp"); MongateDisconnectHttp = (FnMongateDisconnectHttp)::GetProcAddress(g_hDll, "MongateDisconnectHttp"); MongateCsGetSmsHttp = (FnMongateGetSmsHttp)::GetProcAddress(g_hDll, "MongateCsGetSmsHttp"); MongateVasGetSmsHttp = (FnMongateGetSmsHttp)::GetProcAddress(g_hDll, "MongateVasGetSmsHttp"); MongateGetVerHttp = (FnMongateGetVerHttp)::GetProcAddress(g_hDll, "MongateGetVerHttp"); MongateTestConnHttp = (FnMongateTestConnHttp)::GetProcAddress(g_hDll, "MongateTestConnHttp"); MongateQueryBalanceHttp = (FnMongateQueryBalanceHttp)::GetProcAddress(g_hDll, "MongateQueryBalanceHttp"); MongateRechargeHttp = (FnMongateRechargeHttp)::GetProcAddress(g_hDll, "MongateRechargeHttp"); MongateVasSendSmsHttp = (FnMongateVasSendSmsHttp)::GetProcAddress(g_hDll, "MongateVasSendSmsHttp"); MongateSendSmsHttp = (FnMongateSendSmsHttp)::GetProcAddress(g_hDll, "MongateSendSmsHttp"); MongateQueryUsedHttp = (FnMongateQueryUsedHttp)::GetProcAddress(g_hDll, "MongateQueryUsedHttp"); MongateCsSendSmsHttp = (FnMongateCsSendSmsHttp)::GetProcAddress(g_hDll, "MongateCsSendSmsHttp"); MongateCsGetStatusReportHttp = (FnMongateCsGetStatusReportHttp)::GetProcAddress(g_hDll, "MongateCsGetStatusReportHttp"); MongateCsSendTimeHttp = (FnMongateCsSendTimeHttp)::GetProcAddress(g_hDll, "MongateCsSendTimeHttp"); MongateCsDelSendTimeHttp = (FnMongateCsDelSendTimeHttp)::GetProcAddress(g_hDll, "MongateCsDelSendTimeHttp"); MongateCsUpdateSendTimeHttp = (FnMongateCsUpdateSendTimeHttp)::GetProcAddress(g_hDll, "MongateCsUpdateSendTimeHttp"); MongateCsDelAllSendTimeHttp = (FnMongateCsDelAllSendTimeHttp)::GetProcAddress(g_hDll, "MongateCsDelAllSendTimeHttp"); MongateCsReadSendTimeHttp = (FnMongateCsReadSendTimeHttp)::GetProcAddress(g_hDll, "MongateCsReadSendTimeHttp"); MongateCsUpdateTelListSendTimeHttp = (FnMongateCsUpdateTelListSendTimeHttp)::GetProcAddress(g_hDll, "MongateCsUpdateTelListSendTimeHttp"); MongateCsReadTelListSendTimeHttp = (FnMongateCsReadTelListSendTimeHttp)::GetProcAddress(g_hDll, "MongateCsReadTelListSendTimeHttp"); MongateTestMsgHttp = (FnMongateTestMsgHttp)::GetProcAddress(g_hDll, "MongateTestMsgHttp"); MongateCsSPSendSms = (FnMongateCsSPSendSms)::GetProcAddress(g_hDll, "MongateCsSPSendSms"); MongateCsSPSendSmsHttp = (FnMongateCsSPSendSmsHttp)::GetProcAddress(g_hDll, "MongateCsSPSendSmsHttp"); MongateCsGetStatusReportHttpEx =(FnMongateCsGetStatusReportHttpEx)::GetProcAddress(g_hDll,"MongateCsGetStatusReportHttpEx"); MongateGetSmsHttpEx =(FnMongateGetSmsHttpEx)::GetProcAddress(g_hDll,"MongateCsGetSmsHttpEx"); MongateCsGetStatusReportEx =(FnMongateCsGetStatusReportEx)::GetProcAddress(g_hDll,"MongateCsGetStatusReportEx"); MongateGetSmsEx =(FnMongateGetSmsEx)::GetProcAddress(g_hDll,"MongateCsGetSmsEx"); MGhexChrTosrcStr =(FnMGhexChrTosrcStr)::GetProcAddress(g_hDll,"MGhexChrTosrcStr"); MongateKxtSend =(FnMongateKxtSend)::GetProcAddress(g_hDll,"MongateKxtSend"); MongateKxtSendHttp =(FnMongateKxtSendHttp)::GetProcAddress(g_hDll,"MongateKxtSendHttp"); MGQueryAccount =(FnMGQueryAccount)::GetProcAddress(g_hDll,"MGQueryAccount"); MongateCsReadSendTimeEx =(FnMongateCsReadSendTimeEx)::GetProcAddress(g_hDll,"MongateCsReadSendTimeEx"); MongateCsReadSendTimeHttpEx =(FnMongateCsReadSendTimeHttpEx)::GetProcAddress(g_hDll,"MongateCsReadSendTimeHttpEx"); //ASSERT(MongateCsSendSms != NULL); //m_ServerIp="server1.montnets.com"; m_ServerIp="61.145.229.26"; m_strLoginID = "13888888888"; m_strRecvMobi="13534***346"; m_mobicount=1; m_strLoginPwd = "807778"; m_strSendSms = "梦网网关测试信息,恭喜发财!!"; UpdateData(FALSE); OnUpdateEnables(); return TRUE; // return TRUE unless you set the focus to a control } // If you add a minimize button to your dialog, you will need the code below // to draw the icon. For MFC applications using the document/view model, // this is automatically done for you by the framework. void CVcDemoDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon dc.DrawIcon(x, y, m_hIcon); } else { CDialog::OnPaint(); } } // The system calls this to obtain the cursor to display while the user drags // the minimized window. HCURSOR CVcDemoDlg::OnQueryDragIcon() { return (HCURSOR) m_hIcon; } //--------------------------------------------------------------------------- void CVcDemoDlg::OnBtnConnect() { UpdateData(TRUE); CString mystr; if (m_hsock == 0) { // m_hsock = MongateConnect("server1.montnets.com", 8018, m_strLoginID, if (!m_TCPFlag) { m_hsock = MongateConnect(m_ServerIp, m_Port, m_strLoginID, m_strLoginPwd); } else { m_hsock = MongateConnectHttp(m_ServerIp, m_Port, m_strLoginID, m_strLoginPwd); } if (m_hsock > 0) { mystr.Format("连接成功,返回句柄:%d",m_hsock); GetDlgItem(IDC_BTN_CONNECT)->EnableWindow(FALSE); GetDlgItem(IDC_BTN_DISCONN)->EnableWindow(TRUE); //m_btnConn.SetWindowText("断 开"); } else { mystr.Format("连接失败,返回:%d",m_hsock); GetDlgItem(IDC_BTN_CONNECT)->EnableWindow(TRUE); GetDlgItem(IDC_BTN_DISCONN)->EnableWindow(FALSE); m_hsock = 0; } } m_listCtrl.InsertString(0,mystr); UpdateData(FALSE); } //--------------------------------------------------------------------------- void CVcDemoDlg::OnUpdateEnables() { UpdateData(TRUE); BOOL bBoth=m_chkboth||m_kfboth; if ((m_chksingle)&&(myflag==1)){ m_chkboth=FALSE; m_kfboth=FALSE; } if ((m_chkboth)&&(myflag==2)){ m_chksingle=FALSE; m_kfboth=FALSE; } if ((m_kfboth)&&(myflag==3)){ m_chkboth=FALSE; m_chksingle=FALSE; } if (m_chkboth) m_btnSend.SetWindowText("增值信息"); else if (m_kfboth) m_btnSend.SetWindowText("客服信息"); else m_btnSend.SetWindowText("单向信息"); //GetDlgItem(IDC_EDT_SERVICE_NO)->EnableWindow(m_chkboth); //GetDlgItem(IDC_EDT_FEE_CODE)->EnableWindow(m_chkboth); GetDlgItem(IDC_EDT_LINKID)->EnableWindow(m_chkboth); GetDlgItem(IDC_BTN_GET_STATUS)->EnableWindow(m_kfboth); GetDlgItem(IDC_EDT_NUM)->EnableWindow(bBoth); GetDlgItem(IDC_BTN_RECV)->EnableWindow(bBoth); GetDlgItem(IDC_EDT_SERVICE_NO)->EnableWindow(m_chkboth); GetDlgItem(IDC_EDT_FEE_CODE)->EnableWindow(m_chkboth); UpdateData(FALSE); } //--------------------------------------------------------------------------- void CVcDemoDlg::OnBtnRecv() { if (m_hsock<=0) { m_listCtrl.InsertString(0,"没有连接到服务器"); return; } int count =0; char msg[500][255]; char MsgEx[20001]={0}; CString s,mystr; if(m_kfboth){ if (!m_TCPFlag) { // count = MongateCsGetSms(m_hsock, msg); count = MongateGetSmsEx(m_hsock, MsgEx); AfxMessageBox(MsgEx); } else { // count = MongateCsGetSmsHttp(m_hsock, msg); count = MongateGetSmsHttpEx(m_hsock, MsgEx); AfxMessageBox(MsgEx); } } else { if (!m_TCPFlag) { count =MongateVasGetSms(m_hsock, msg); } else { count =MongateVasGetSmsHttp(m_hsock, msg); } } s=m_chkboth?"增值端口":"客服端口"; if (count == 0) { mystr.Format("%s%s",s,"没有信息可读"); } else if (count > 0) { char * token; const char cFlag[]=";"; int iFlag=0; token=strtok(MsgEx,cFlag); while(token != NULL) { char tempMsg[512]={0}; iFlag++; mystr.Format("接收信息%d:%s",iFlag,convertMOMsg(token,tempMsg)); m_listCtrl.InsertString(0,mystr); token = strtok( NULL,cFlag); } return; } else { mystr.Format("%s%s%d",s,"接收信息失败,返回:",count); } m_listCtrl.InsertString(0,mystr); } //--------------------------------------------------------------------------- void CVcDemoDlg::OnDestroy() { CDialog::OnDestroy(); if (m_hsock != 0) MongateDisconnect(m_hsock); } //--------------------------------------------------------------------------- void CVcDemoDlg::OnBtnSend() { UpdateData(); CString mystr; if (m_hsock<=0) { m_listCtrl.InsertString(0,"没有连接到服务器"); return; } int res=0; char strSN[255] = {0}; if (m_chkboth) {//发送增值信息 if (!m_TCPFlag) { res = MongateVasSendSms(m_hsock, m_strFeeCode, m_strServiceNo, "00********", m_strLinkID, m_strRecvMobi, m_strSendSms,1); } else { res = MongateVasSendSmsHttp(m_hsock, m_strFeeCode, m_strServiceNo, "00********", m_strLinkID, m_strRecvMobi, m_strSendSms,1); } if (res == 1) mystr.Format("发送增值信息成功"); else mystr.Format("发送增值信息失败,返回:%d",res); } else if (m_kfboth) {//发送客服信息 if (m_CHK_Flag) { if (!m_TCPFlag) { res = MongateCsSPSendSms(m_hsock,m_strRecvMobi.GetBuffer(20), m_strSendSms.GetBuffer(20),m_mobicount,m_NumberNo.GetBuffer(20),strSN); } else { res = MongateCsSPSendSmsHttp(m_hsock,m_strRecvMobi.GetBuffer(20), m_strSendSms.GetBuffer(20),m_mobicount,m_NumberNo.GetBuffer(20),strSN); } } else{ if (!m_TCPFlag) { res = MongateCsSendSms(m_hsock,m_strRecvMobi.GetBuffer(20), m_strSendSms.GetBuffer(20),m_mobicount,strSN); // res = MongateKxtSend(m_hsock,m_strRecvMobi.GetBuffer(20), // m_strSendSms.GetBuffer(20),m_mobicount,strSN); } else { // res = MongateKxtSendHttp(m_hsock,m_strRecvMobi.GetBuffer(20), // m_strSendSms.GetBuffer(20),m_mobicount,strSN); res = MongateCsSendSmsHttp(m_hsock,m_strRecvMobi.GetBuffer(20), m_strSendSms.GetBuffer(20),m_mobicount,strSN); } } if (res == 1) mystr.Format("发送客服信息成功,信息编号:%s",strSN); else mystr.Format("发送客服信息失败,返回:%d",res); } else {//发送单向信息 if (m_CHK_Flag) { if (!m_TCPFlag) { res = 0; } else { res = 0; } } else{ if (!m_TCPFlag) { res = MongateSendSms(m_hsock,m_strRecvMobi.GetBuffer(20),m_strSendSms.GetBuffer(20)); } else { res = 0; } } if (res == 1) mystr.Format("发送单向信息成功%s",strSN); else mystr.Format("发送单向信息失败,返回:%d",res); } m_listCtrl.InsertString(0,mystr); } //--------------------------------------------------------------------------- void CVcDemoDlg::OnBtnQuery() { if (m_hsock<=0) { m_listCtrl.InsertString(0,"没有连接到服务器"); return; } CString mystr; int m_iLeft; if (!m_TCPFlag) { m_iLeft = MongateQueryBalance(m_hsock); } else{ m_iLeft = MongateQueryBalanceHttp(m_hsock); } if (m_iLeft >= 0) mystr.Format("查询余额成功,剩余:%d",m_iLeft); else mystr.Format("查询余额失败,返回:%d",m_iLeft); m_listCtrl.InsertString(0,mystr); } //--------------------------------------------------------------------------- void CVcDemoDlg::OnBTNQuery2() { //ASSERT(m_hsock); if (m_hsock<=0) { m_listCtrl.InsertString(0,"没有连接到服务器"); return; } CString mystr; int m_iUsed; if (!m_TCPFlag) { m_iUsed = MongateQueryUsed(m_hsock); } else{ m_iUsed = MongateQueryUsedHttp(m_hsock); } if (m_iUsed > 0) mystr.Format("查询使用成功,已用:%d",m_iUsed); else mystr.Format("查询使用失败,返回:%d",m_iUsed); m_listCtrl.InsertString(0,mystr); } void CVcDemoDlg::OnBtnChangePwd() { if (m_hsock<=0) { m_listCtrl.InsertString(0,"没有连接到服务器"); return; } UpdateData(); CString mystr; int res; if (!m_TCPFlag) { res = MongateChangePwd(m_hsock, m_strLoginID, m_strLoginPwd, m_strNewPwd); } else{ res = MongateChangePwdHttp(m_hsock, m_strLoginID, m_strLoginPwd, m_strNewPwd); } if(res==1) mystr.Format("修改密码成功"); else mystr.Format("修改密码失败,返回:%d",res); m_listCtrl.InsertString(0,mystr); } void CVcDemoDlg::OnBtnTestConn() { if (m_hsock<=0) { m_listCtrl.InsertString(0,"没有连接到服务器"); return; } CString mystr; int res; if (!m_TCPFlag) { res = MongateTestConn(m_hsock); } else { res = MongateTestConnHttp(m_hsock); } if(res==1) mystr.Format("测试连接成功"); else mystr.Format("测试连接失败,返回:%d",res); m_listCtrl.InsertString(0,mystr); } void CVcDemoDlg::OnBtnGetStatus() { if (m_hsock<=0) { m_listCtrl.InsertString(0,"没有连接到服务器"); return; } // char strMsg[500][255] = {0}; char MsgEx[20001]={0}; CString mystr; int count; if (!m_TCPFlag) { // count= MongateCsGetStatusReport(m_hsock, strMsg); count= MongateCsGetStatusReportEx(m_hsock, MsgEx); } else { // count= MongateCsGetStatusReportHttp(m_hsock, strMsg); count= MongateCsGetStatusReportHttpEx(m_hsock, MsgEx); } if (count == 0) { mystr="没有信息可读"; m_listCtrl.InsertString(0,mystr); } else if (count > 0) { char * token; int iFlag=0; const char cFlag[]=";"; token=strtok(MsgEx,cFlag); while (token!=NULL) { iFlag++; mystr.Format("%s%d:%s","状态报告", iFlag, token); m_listCtrl.InsertString(0,mystr); token = strtok( NULL,cFlag); } } else { mystr.Format("%s%d","读取状态报告失败,返回:",count); m_listCtrl.InsertString(0,mystr); } } void CVcDemoDlg::OnChkBoth() { // TODO: Add your control notification handler code here myflag=2; m_btnSend.SetWindowText("单向信息"); OnUpdateEnables(); } void CVcDemoDlg::OnChkSingle() { // TODO: Add your control notification handler code here myflag=1; OnUpdateEnables(); } void CVcDemoDlg::OnChkKfboth() { // TODO: Add your control notification handler code here myflag=3; m_btnSend.SetWindowText("单向信息"); OnUpdateEnables(); } void CVcDemoDlg::OnBtnDisconn() { //UpdateData(TRUE); // TODO: Add your control notification handler code here if (m_hsock<=0) { m_listCtrl.InsertString(0,"没有连接到服务器"); return; } CString mystr; // m_hsock = MongateConnect("server1.montnets.com", 8018, m_strLoginID, MongateDisconnect(m_hsock); mystr.Format("断开连接"); GetDlgItem(IDC_BTN_CONNECT)->EnableWindow(TRUE); GetDlgItem(IDC_BTN_DISCONN)->EnableWindow(FALSE); m_hsock=0; m_listCtrl.InsertString(0,mystr); //UpdateData(FALSE); } void CVcDemoDlg::OnBUTTONSetTime() { CSetTimeDlg dlg; if (m_hsock<=0) { m_listCtrl.InsertString(0,"没有连接到服务器"); return; } if(dlg.DoModal()==IDCANCEL) { return; } } int CVcDemoDlg::ManageSendTimeMessage(int iType, CString sBeginDate, CString sEndDate, int iFlag, CString sTime, int iNTel, CString sMessage, CString sTels) { CString mystr; int ret; if (m_hsock<=0) { m_listCtrl.InsertString(0,"没有连接到服务器!!"); return -1; } if (!m_TCPFlag) { ret = MongateCsSendTime(m_hsock,iType,sBeginDate,sEndDate,iFlag,sTime,iNTel,sMessage,sTels); } else{ ret = MongateCsSendTimeHttp(m_hsock,iType,sBeginDate,sEndDate,iFlag,sTime,iNTel,sMessage,sTels); } return ret; } int CVcDemoDlg::ManageUpdataTimeTelNo(int iNumber, int iNTel, const char *pTel) { CString mystr; int ret; if (m_hsock<=0) { m_listCtrl.InsertString(0,"没有连接到服务器!!"); return -1; } if (!m_TCPFlag) { ret = MongateCsUpdateTelListSendTime(m_hsock,iNumber,iNTel,pTel); } else{ ret = MongateCsUpdateTelListSendTimeHttp(m_hsock,iNumber,iNTel,pTel); } return ret; } int CVcDemoDlg::ManageDelOneTime(int iNumber) { CString mystr; int ret; if (m_hsock<=0) { m_listCtrl.InsertString(0,"没有连接到服务器!!"); return -1; } if (!m_TCPFlag) { ret = MongateCsDelSendTime(m_hsock,iNumber); } else{ ret = MongateCsDelSendTimeHttp(m_hsock,iNumber); } return ret; } int CVcDemoDlg::ManageDelAllTime() { CString mystr; int ret; if (m_hsock<=0) { m_listCtrl.InsertString(0,"没有连接到服务器!!"); return -1; } if (!m_TCPFlag) { ret = MongateCsDelAllSendTime(m_hsock); } else{ ret = MongateCsDelAllSendTimeHttp(m_hsock); } return ret; } int CVcDemoDlg::ManageReadNTels(int iNumber, char *sTel) { CString mystr; char Tempbuf[20000] = {0}; int ret; if (m_hsock<=0) { m_listCtrl.InsertString(0,"没有连接到服务器!!"); return -1; } if (!m_TCPFlag) { ret = MongateCsReadTelListSendTime(m_hsock,iNumber,Tempbuf); } else{ ret = MongateCsReadTelListSendTimeHttp(m_hsock,iNumber,Tempbuf); } if (ret==1) { strcat(sTel,Tempbuf); } return ret; } int CVcDemoDlg::ManageReadSetTime(int iNumber, int iType, char pStr[10][1024]) { CString mystr; int ret; char kkk[20480]={0}; if (m_hsock<=0) { m_listCtrl.InsertString(0,"没有连接到服务器!!"); return -1; } if (!m_TCPFlag) { // ret = MongateCsReadSendTime(m_hsock,iNumber,iType,pStr); ret = MongateCsReadSendTimeEx(m_hsock,iNumber,iType,kkk); } else { // ret = MongateCsReadSendTimeHttp(m_hsock,iNumber,iType,pStr); ret = MongateCsReadSendTimeHttpEx(m_hsock,iNumber,iType,kkk); } return ret; } int CVcDemoDlg::ManageUpdateSetTime(int iNumber, int iType, const char *pBeginDate, const char *pEndDate, int iFlag, const char *pTime, int iNTel, const char *pMessage, const char *pTel) { CString mystr; int ret; if (m_hsock<=0) { m_listCtrl.InsertString(0,"没有连接到服务器"); return -1; } if (!m_TCPFlag) { ret = MongateCsUpdateSendTime(m_hsock,iNumber,iType,pBeginDate,pEndDate,iFlag, pTime,iNTel,pMessage,pTel); } else{ ret = MongateCsUpdateSendTimeHttp(m_hsock,iNumber,iType,pBeginDate,pEndDate,iFlag, pTime,iNTel,pMessage,pTel); } return ret; } void CVcDemoDlg::OnRadioTcp() { m_TCPFlag = 0; } void CVcDemoDlg::OnRadioHttp() { m_TCPFlag = 1; } void CVcDemoDlg::OnBUTTONCheckMsg() { UpdateData(TRUE); if (m_hsock<=0) { m_listCtrl.InsertString(0,"没有连接到服务器"); return; } CString mystr; int res; if (!m_TCPFlag) { res = MongateTestMsg(m_hsock,m_strSendSms.GetBuffer(20)); } else { res = MongateTestMsgHttp(m_hsock,m_strSendSms.GetBuffer(20)); } if(res==1) mystr.Format("无关键字!"); else mystr.Format("有关键字:%d",res); m_listCtrl.InsertString(0,mystr); UpdateData(FALSE); } void CVcDemoDlg::OnCHECKFlag() { if (m_CHK_Flag) { m_CHK_Flag=FALSE; GetDlgItem(IDC_EDIT_NumberNo)->EnableWindow(FALSE); } else { m_CHK_Flag=TRUE; GetDlgItem(IDC_EDIT_NumberNo)->EnableWindow(TRUE); } } void CVcDemoDlg::OnBUTTONAccount() { char Account[1024] ={0}; char temp[10]={0}; int iFlag=0; iFlag=MGQueryAccount(m_hsock,temp,Account); if (1==iFlag) { AfxMessageBox(Account); } else{ AfxMessageBox("查询失败!"); } }