// VcDemoDlg.cpp : implementation file // #include "stdafx.h" #include "VcDemo.h" #include "VcDemoDlg.h" #include <afxsock.h>//<Winsock2.h> #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif //--------------------------------------------------------------------------- typedef char* (__stdcall *FnMongateGetVer)(); 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 *FnMongateQueryBalance)(int sock); typedef int (__stdcall *FnMongateQueryUsed)(int sock); typedef int (__stdcall *FnMongateSendSms)(int sock, const char* pszMobis, const char* pszMsg); typedef int (__stdcall *FnMongateConnectSocks4Proxy)(const char* ,int ,const char* ,int ,const char* ,const char* ); typedef int (__stdcall *FnMongateCsGetSms)(SOCKET , char [500][255]); typedef int (__stdcall *FnMongateVasGetSms)(SOCKET , char [500][255]); typedef int (__stdcall *FnMongateVasSendSms)(SOCKET , const char* , const char* , const char* , const char* ,const char* , const char* , int ); typedef int (__stdcall *FnMongateCsSendSmsHttp)(SOCKET , const char* ,const char* , int , char* ); typedef int (__stdcall *FnMongateTestConn)(SOCKET ); typedef int (__stdcall *FnMongateCsGetStatusReport)(SOCKET , char [500][255]); typedef int (__stdcall *FnMongateCsSendSms)(SOCKET , const char* ,const char* , int , char* ); typedef int (__stdcall *FnMongateConnectSocks5Proxy)( const char* , int ,const char* ,const char* ,const char* ,int ,const char* ,const char* ); typedef int (__stdcall *FnMongateConnectHttpProxy)(const char*,int ,const char* ,const char* ,const char* , int , const char* , const char* ); typedef int (__stdcall *FnMongateTestConnHttp)(int); typedef int (__stdcall *FnMongateCsGetSmsHttp)(SOCKET , char [500][255]); typedef int (__stdcall *FnMongateCsGetStatusReportHttp)(SOCKET , char [500][255]); typedef int (__stdcall *FnMongateConnectHttpProxy)(const char* pszProxyIP, int iProxyPort,const char* pszProxyAccount,const char* pszProxyPwd, const char* pszIP, int iPort, const char* pszAccount, const char* pszPwd); typedef int (__stdcall *FnMongateTestMsgEx)(SOCKET sock,const char* pStrMessage,char *keywords); typedef int (__stdcall *FnMongateTestMsgExHttp)(SOCKET sock,const char* pStrMessage,char *keyword); typedef int (__stdcall *FnMongateCsSPSendSmsNew)(SOCKET sock, const char* pszMobis, const char* pszMsg, int iMobiCount,const char* pszSubPort,char* pszSN); //--------------------------------------------------------------------------- HMODULE g_hDll; FnMongateGetVer MongateGetVer; //tcp/ip method FnMongateTestMsgEx MongateTestMsgEx; FnMongateTestMsgExHttp MongateTestMsgExHttp; FnMongateConnect MongateConnect; FnMongateDisconnect MongateDisconnect; FnMongateChangePwd MongateChangePwd; FnMongateQueryBalance MongateQueryBalance; FnMongateQueryUsed MongateQueryUsed; FnMongateSendSms MongateSendSms; FnMongateCsGetSms MongateCsGetSms; FnMongateVasGetSms MongateVasGetSms; FnMongateVasSendSms MongateVasSendSms; FnMongateTestConn MongateTestConn; FnMongateCsGetStatusReport MongateCsGetStatusReport; FnMongateCsSendSms MongateCsSendSms; FnMongateConnectSocks4Proxy MongateConnectSocks4Proxy; FnMongateConnectSocks5Proxy MongateConnectSocks5Proxy; //http method FnMongateConnect MongateConnectHttp; FnMongateQueryBalance MongateQueryBalanceHttp; FnMongateQueryUsed MongateQueryUsedHttp; FnMongateSendSms MongateSendSmsHttp; FnMongateChangePwd MongateChangePwdHttp; FnMongateDisconnect MongateDisconnectHttp; FnMongateTestConnHttp MongateTestConnHttp; FnMongateCsSendSmsHttp MongateCsSendSmsHttp; FnMongateConnectHttpProxy MongateConnectHttpProxy; FnMongateCsGetSmsHttp MongateCsGetSmsHttp; FnMongateCsGetStatusReportHttp MongateCsGetStatusReportHttp; FnMongateCsSPSendSmsNew MongateCsSPSendSmsNew; ///////////////////////////////////////////////////////////////////////////// // CVcDemoDlg dialog IDC_EDT_NUM int myflag=0; 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_bProxy = FALSE; m_Tcp = FALSE; //}}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, 2000); 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_Check(pDX, IDC_CHK_PROXY, m_bProxy); DDX_Check(pDX, IDC_CHECKtcp, m_Tcp); //}}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_TYPE, OnType) ON_BN_CLICKED(IDC_CHK_PROXY, OnChkProxy) ON_BN_CLICKED(IDC_CHECKtcp, OnCHECKtcp) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CVcDemoDlg message handlers void LoadMWGateway() { char path[255] = {0}; ::GetCurrentDirectory(255, path); strcat(path, "\\LYFZGateway.dll"); if (NULL == (g_hDll = ::LoadLibrary(path))) { AfxMessageBox("����LYFZGateway.dllʧ�ܣ�"); exit(0); } MongateChangePwd = (FnMongateChangePwd)::GetProcAddress(g_hDll, "MongateChangePwd"); MongateConnect = (FnMongateConnect)::GetProcAddress(g_hDll, "MongateConnect"); MongateDisconnect = (FnMongateDisconnect)::GetProcAddress(g_hDll, "MongateDisconnect"); MongateCsGetSms = (FnMongateCsGetSms)::GetProcAddress(g_hDll, "MongateCsGetSms"); MongateVasGetSms = (FnMongateVasGetSms)::GetProcAddress(g_hDll, "MongateVasGetSms"); MongateGetVer = (FnMongateGetVer)::GetProcAddress(g_hDll, "MongateGetVer"); MongateTestConn = (FnMongateTestConn)::GetProcAddress(g_hDll, "MongateTestConn"); MongateQueryBalance = (FnMongateQueryBalance)::GetProcAddress(g_hDll, "MongateQueryBalance"); 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"); MongateConnectSocks4Proxy = (FnMongateConnectSocks4Proxy)::GetProcAddress(g_hDll, "MongateConnectSocks4Proxy"); MongateConnectSocks5Proxy = (FnMongateConnectSocks5Proxy)::GetProcAddress(g_hDll, "MongateConnectSocks5Proxy"); MongateConnectHttpProxy = (FnMongateConnectHttpProxy)::GetProcAddress(g_hDll, "MongateConnectHttpProxy"); MongateTestMsgEx = (FnMongateTestMsgEx)::GetProcAddress(g_hDll, "MongateTestMsgEx"); MongateTestMsgExHttp =(FnMongateTestMsgExHttp)::GetProcAddress(g_hDll, "MongateTestMsgExHttp"); MongateQueryBalanceHttp = (FnMongateQueryBalance)::GetProcAddress(g_hDll, "MongateQueryBalanceHttp"); MongateQueryUsedHttp = (FnMongateQueryUsed)::GetProcAddress(g_hDll, "MongateQueryUsedHttp"); MongateConnectHttp = (FnMongateConnect)::GetProcAddress(g_hDll, "MongateConnectHttp"); MongateCsSendSmsHttp = (FnMongateCsSendSms)::GetProcAddress(g_hDll, "MongateCsSendSmsHttp"); MongateCsGetSmsHttp = (FnMongateCsGetSmsHttp)::GetProcAddress(g_hDll, "MongateCsGetSmsHttp"); MongateCsGetStatusReportHttp = (FnMongateCsGetStatusReport)::GetProcAddress(g_hDll, "MongateCsGetStatusReportHttp"); MongateChangePwdHttp = (FnMongateChangePwd)::GetProcAddress(g_hDll, "MongateChangePwdHttp"); MongateTestConnHttp = (FnMongateTestConnHttp)::GetProcAddress(g_hDll, "MongateTestConnHttp"); MongateConnectHttpProxy = (FnMongateConnectHttpProxy)::GetProcAddress(g_hDll, "MongateConnectHttpProxy"); MongateCsSPSendSmsNew = (FnMongateCsSPSendSmsNew)::GetProcAddress(g_hDll, "MongateCsSPSendSmsNew"); //ASSERT(MongateCsSendSms != NULL); } 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 LoadMWGateway(); //m_ServerIp="server1.montnets.com"; //m_ServerIp="61.145.229.26"; // m_ServerIp="61.242.89.115"; m_ServerIp="server1.montnets.com"; m_strLoginID = "090802"; m_strRecvMobi="15858427733"; m_mobicount=1; m_strLoginPwd = "516842"; m_strSendSms = "�������ز�����Ϣ����ϲ����!!"; m_Tcp = TRUE; UpdateData(FALSE); OnUpdateEnables(); GetDlgItem(IDC_EDIT_PROXYIP)->EnableWindow(FALSE); GetDlgItem(IDC_EDIT_PROXYPORT)->EnableWindow(FALSE); GetDlgItem(IDC_EDIT_PROXYID)->EnableWindow(FALSE); GetDlgItem(IDC_EDIT_PROXYPWD)->EnableWindow(FALSE); CComboBox * list=(CComboBox*)GetDlgItem(IDC_COMBOPROXY); list->AddString("Proxy4"); list->AddString("Proxy5"); list->AddString("HttpProxy"); 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,proxyip,port,id,pwd; int pport; if (m_hsock == 0) { if(m_bProxy) { GetDlgItem(IDC_EDIT_PROXYIP)->GetWindowText(proxyip); GetDlgItem(IDC_EDIT_PROXYPORT)->GetWindowText(port); GetDlgItem(IDC_EDIT_PROXYID)->GetWindowText(id); GetDlgItem(IDC_EDIT_PROXYPWD)->GetWindowText(pwd); CComboBox* list = (CComboBox*)GetDlgItem(IDC_COMBOPROXY); pport = atoi(port); int i = list->GetCurSel(); switch(i) { case -1: AfxMessageBox("��ѡ��������ͣ�"); break; case 0: m_hsock = MongateConnectSocks4Proxy(proxyip,pport,m_ServerIp, m_Port, m_strLoginID,m_strLoginPwd); break; case 1: m_hsock = MongateConnectSocks5Proxy(proxyip,pport,id,pwd,m_ServerIp, m_Port, m_strLoginID,m_strLoginPwd); break; case 2: m_hsock = MongateConnectHttpProxy(proxyip,pport,id,pwd,m_ServerIp, m_Port, m_strLoginID,m_strLoginPwd); break; } } else if(m_Tcp) 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]; CString s,mystr; if(m_kfboth) { if(m_Tcp) count = MongateCsGetSms(m_hsock, msg); else count = MongateCsGetSmsHttp(m_hsock, msg); } else count =MongateVasGetSms(m_hsock, msg); s=m_chkboth?"��ֵ�˿�":"�ͷ��˿�"; if (count == 0) { mystr.Format("%s%s",s,"û����Ϣ�ɶ�"); } else if (count > 0) { for (int i = 0; i < count; i++) { mystr.Format("%s%s%d��%s",s,"����", i+1, msg[i]); m_listCtrl.InsertString(0,mystr); MessageBox(msg[i]); } 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_Tcp) res = MongateVasSendSms(m_hsock, m_strFeeCode, m_strServiceNo, "00********", m_strLinkID, m_strRecvMobi, m_strSendSms,1); else res = -1; if (res == 1) mystr.Format("������ֵ��Ϣ�ɹ�"); else mystr.Format("������ֵ��Ϣʧ��,����:%d",res); } else if (m_kfboth) {//���Ϳͷ���Ϣ if(m_Tcp) { res = MongateTestMsgEx(m_hsock,m_strSendSms.GetBuffer(1200),strSN); } else { res = MongateTestMsgExHttp(m_hsock,m_strSendSms.GetBuffer(1200),strSN); } if (res == -10033) mystr.Format("���ؼ���,����:%s",strSN); res = MongateCsSPSendSmsNew(m_hsock,m_strRecvMobi.GetBuffer(2000),m_strSendSms.GetBuffer(1200),m_mobicount,"*",strSN); // if(m_Tcp) // { // res = MongateCsSendSms(m_hsock,m_strRecvMobi.GetBuffer(2000),m_strSendSms.GetBuffer(1200),m_mobicount,strSN); // } // else // { // res = MongateCsSendSmsHttp(m_hsock,m_strRecvMobi.GetBuffer(2000),m_strSendSms.GetBuffer(1200),m_mobicount,strSN); // } if (res == 1) mystr.Format("���Ϳͷ���Ϣ�ɹ�,��Ϣ���:%s",strSN); else mystr.Format("���Ϳͷ���Ϣʧ��,����:%d",res); } else {//���͵�����Ϣ res = MongateSendSms(m_hsock,m_strRecvMobi,m_strSendSms); 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_Tcp) 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_Tcp) 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_Tcp) 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_Tcp) { 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}; CString mystr; int count; if(m_Tcp) count= MongateCsGetStatusReport(m_hsock, strMsg); else count = MongateCsGetStatusReportHttp(m_hsock, strMsg); if (count == 0) { mystr="û����Ϣ�ɶ�"; } else if (count > 0) { for (int i=0; i < count; i++) { mystr.Format("%s%d��%s","״̬����", i+1, strMsg[i]); if(i!=count-1) m_listCtrl.InsertString(0,mystr); } } else { mystr.Format("%s%d","��ȡ״̬����ʧ��,���أ�",count); } m_listCtrl.InsertString(0,mystr); } void CVcDemoDlg::OnChkBoth() { // TODO: Add your control notification handler code here myflag=2; OnUpdateEnables(); } void CVcDemoDlg::OnChkSingle() { // TODO: Add your control notification handler code here myflag=1; m_btnSend.SetWindowText("������Ϣ"); OnUpdateEnables(); } void CVcDemoDlg::OnChkKfboth() { // TODO: Add your control notification handler code here myflag=3; 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::OnType() { // TODO: Add your control notification handler code here UpdateData(TRUE); //int iRet=MongateSetCmdType(m_Port); } void CVcDemoDlg::OnChkProxy() { // TODO: Add your control notification handler code here UpdateData(TRUE); if(m_bProxy) { GetDlgItem(IDC_EDIT_PROXYIP)->EnableWindow(TRUE); GetDlgItem(IDC_EDIT_PROXYPORT)->EnableWindow(TRUE); GetDlgItem(IDC_EDIT_PROXYID)->EnableWindow(TRUE); GetDlgItem(IDC_EDIT_PROXYPWD)->EnableWindow(TRUE); } else { GetDlgItem(IDC_EDIT_PROXYIP)->EnableWindow(FALSE); GetDlgItem(IDC_EDIT_PROXYPORT)->EnableWindow(FALSE); GetDlgItem(IDC_EDIT_PROXYID)->EnableWindow(FALSE); GetDlgItem(IDC_EDIT_PROXYPWD)->EnableWindow(FALSE); } } void CVcDemoDlg::OnCHECKtcp() { // TODO: Add your control notification handler code here UpdateData(TRUE); if(m_Tcp) GetDlgItem(IDC_CHECKtcp)->SetWindowText("TCP"); else GetDlgItem(IDC_CHECKtcp)->SetWindowText("HTTP"); }