// FXSendDlg.h : header file // #if !defined(AFX_FXSENDDLG_H__2B44AC49_F0C4_4DD0_BE7D_F08A1AA00FF9__INCLUDED_) #define AFX_FXSENDDLG_H__2B44AC49_F0C4_4DD0_BE7D_F08A1AA00FF9__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 ///////////////////////////////////////////////////////////////////////////// // CFXSendDlg dialog struct _SendNextSms { CDialog * pDialog; long lIndex; SOCKET sock; char szIP[32]; }; //定义MMS使用的版与结构头 #define MOBSET_MMS_VER MOBSET_MMS_VER_2 #define MMS_Head MMS_Head_2 #define MMS_Z MMS_Z_2 #include "afxwin.h" //#pragma comment(lib,"psapi.lib") //使用第1版的psapi,防止非win7无法使用 #ifdef PSAPI_VERSION #undef PSAPI_VERSION #endif #define PSAPI_VERSION 1 #include #pragma comment( lib, "psapi" ) struct _SubmitSms { CDialog * pDialog; CAdoConnection * padoConnection; long lIndex; long lSendID; long * lSendEndCount; TCHAR szSendExNum[32]; TCHAR szRecvNum[32]; TCHAR szMsg[512]; }; #define TDID_CMCC_CMPP 0 //移动cmpp #define TDID_UNICOM_SGIP 1 //联通Sgip #define TDID_TELCOM_SMGP 2 //电信Smgp #define TDID_GDDX133 3 //定义通道ID #define TDID_GDDX0769 4 //定义通道ID #define TDID_SMS_宽乐通信 5 //宽乐通信通道ID #define TDID_SMS_蔡工0578 6 //蔡工提供的0578通信通道ID #define TDID_SMS_广州首易 7 //广州首易通道 #define TDID_SDK_广州首易 8 //首易WebService SDK #define TDID_SMS_广东ISAG 9 //短信,广东ISAG #define TDID_SMS_嘉讯Mas1_2 10 //短信,嘉讯Mas1.2 #define TDID_SMS_青岛0532 11 //短信,青岛0532 #define TDID_SMS_南京025 12 //短信,青岛0532 #define TDID_SMS_北京红树 13 //短信,北京红树 #define TDID_SMS_北京联诚智胜 14 //短信,北京联诚智胜 #define TDID_SMS_北京宇宙之讯 15 //短信,北京宇宙之讯 #define TDID_SMS_12580 16 //短信,12580 #define TDID_SMS_中山电信商信通 17 //短信,中山电信商信通 #define TDID_CMCC_CMPP3 18 //短信,cmpp3.0 #define TDID_SMS_宽乐通信_服务 19 //宽乐通信服务中转器 #define TDID_SMS_宽乐通信_服务发送 20 //宽乐通信服务发送 #define TDID_SMS_蔡工WebService 21 //蔡工WebService #define TDID_SMS_CBIP 22 //无线天利CBIP #define TDID_SMS_德盈无名通道 23 //德盈无名通道 #define TDID_SMS_信易 24 //信易 #define TDID_SMS_北京联诚智胜2014 25 //短信,北京联诚智胜 #define TDID_SMS_深圳嘉盈 26 //短信,深圳嘉盈 #define TDID_SMS_深圳滕硕_广州邓总 27 //短信,深圳滕硕 #define TDID_SMS_蔡工1069 28 //蔡工WebService #define TDID_SMS_深圳名传无线 29 //深圳名传无线 #define TDID_HTTP_广州首易 30 //首易Http SDK #define TDID_SMS_深圳壹通道HTTP 31 //深圳壹通道HTTP #define TDID_SMS_北京合众互创 32 //短信,北京合众互创 #define TDID_SMS_广州首易3 33 //广州首易通道,http3协议 #define TDID_SMS_东莞政府短信平台 34 //TDID_SMS_东莞市政府短信能力平台,http协议 #define TDID_SMS_北京电信开放平台 35 //TDID_SMS_北京电信开放平台,http协议 #define TDID_SMS_北京天天国际短信 36 //TDID_SMS_北京电信开放平台,http协议 #define TDID_SMS_德盈无名通道2 37 //德盈无名通道2 #define TDID_MMS_MM7 1001 //彩信,MM7协议 #define TDID_MMS_黄仲键 1002 //彩信,黄仲键 #define TDID_MMS_北京红树 1003 //彩信,北京红树 #define TDID_MMS_广东ISAG 1004 //彩信,广东ISAG #define TDID_MMS_北京卓望 1005 //彩信,北京卓望 #define TDID_MMS_广州首易 1006 //彩信,广州首易 #define TDID_MMS_黄仲键2 1007 //彩信,黄仲键全网 #define TDID_MMS_北京IAGW 1008 //彩信,北京IAGW #define TDID_MMS_北京宇宙之讯 1009 //彩信,北京宇宙之讯 #define TDID_MMS_杭州豪霆 1010 //彩信,杭州豪霆 #define TDID_MMS_广州朗天 1011 //彩信,广州朗天 #define TDID_MMS_北京合众互创 1012 //彩信,北京合众互创 #define TDID_QX_QQ通讯录 2001 //Q信,QQ通讯录 typedef struct _TDID_Name { long lTDID; CString strName; }TDID_Name; static TDID_Name g_TDID_Name[] = { {TDID_CMCC_CMPP,_T("短信-中国移动CMPP2.0")}, {TDID_CMCC_CMPP3,_T("短信-中国移动CMPP3.0")}, {TDID_UNICOM_SGIP,_T("短信-中国联通SGIP1.2")}, {TDID_TELCOM_SMGP,_T("短信-中国电信SMGP3.5")}, {TDID_GDDX133,_T("短信-广东电信133")}, {TDID_GDDX0769,_T("短信-广东电信0769")}, {TDID_SMS_宽乐通信,_T("短信-广东宽乐通信")}, {TDID_SMS_宽乐通信_服务,_T("短信-广东宽乐通信_服务")}, {TDID_SMS_宽乐通信_服务发送,_T("短信-广东宽乐通信_服务发送")}, {TDID_SMS_蔡工0578,_T("短信-蔡工0578")}, {TDID_SMS_蔡工WebService,_T("短信-蔡工Webservice")}, {TDID_SMS_广州首易,_T("短信-广州首易")}, { TDID_SMS_广州首易3,_T("短信-广州首易3") }, {TDID_SMS_广东ISAG,_T("短信-广东ISAG")}, {TDID_SMS_嘉讯Mas1_2,_T("短信-嘉讯Mas1.2")}, {TDID_SMS_青岛0532,_T("短信-青岛网通0532")}, {TDID_SMS_南京025,_T("短信-南京025")}, {TDID_SMS_北京红树,_T("短信-北京红树")}, {TDID_SMS_北京联诚智胜,_T("短信-北京联诚智胜")}, {TDID_SMS_北京联诚智胜2014,_T("短信-北京联诚智胜2014")}, {TDID_SMS_北京宇宙之讯,_T("短信-北京宇宙之讯")}, {TDID_SMS_12580,_T("短信-12580")}, {TDID_SMS_中山电信商信通,_T("短信-中山电信商信通")}, {TDID_SMS_CBIP,_T("短信-无线天利")}, {TDID_SMS_德盈无名通道,_T("短信-德盈无名通道")}, {TDID_SMS_德盈无名通道2,_T("短信-德盈无名通道2")}, {TDID_SMS_信易,_T("短信-信易")}, {TDID_SMS_深圳嘉盈,_T("短信-深圳嘉盈")}, {TDID_SMS_深圳滕硕_广州邓总,_T("短信-深圳滕硕_广州邓总")}, {TDID_SMS_蔡工1069,_T("短信-蔡工1069")}, {TDID_SMS_深圳名传无线,_T("短信-深圳名传无线")}, { TDID_SMS_深圳壹通道HTTP,_T("短信-深圳壹通道HTTP") }, { TDID_SMS_北京合众互创,_T("短信-北京合众互创") }, { TDID_SMS_东莞政府短信平台,_T("短信-东莞政府短信平台") }, { TDID_SMS_北京电信开放平台,_T("短信-北京电信开放平台") }, { TDID_SMS_北京天天国际短信,_T("短信-北京天天国际短信") }, {TDID_MMS_MM7,_T("彩信-标准mm7协议")}, {TDID_MMS_黄仲键,_T("彩信-迅祺省网手机报")}, {TDID_MMS_黄仲键2,_T("彩信-迅祺全网手机报")}, {TDID_MMS_北京红树,_T("彩信-北京红树通道")}, {TDID_MMS_广东ISAG,_T("彩信-广东ISAG")}, {TDID_MMS_北京卓望,_T("彩信-北京卓望")}, {TDID_MMS_广州首易,_T("彩信-广州首易")}, {TDID_MMS_北京IAGW,_T("彩信-北京IAGW")}, {TDID_MMS_北京宇宙之讯,_T("彩信-北京宇宙之讯") }, {TDID_MMS_杭州豪霆,_T("彩信-杭州豪霆") }, {TDID_MMS_广州朗天,_T("彩信-广州朗天") }, {TDID_MMS_北京合众互创,_T("彩信-北京合众互创") }, {TDID_SDK_广州首易,_T("SDK-广州首易")}, {TDID_HTTP_广州首易,_T("HTTP-广州首易") }, {TDID_QX_QQ通讯录,_T("QX-QQ通讯录")}, }; #define WM_ADDLOG WM_USER + 101 #define WM_ADDLOG2 WM_USER + 102 #define FXSEND_MAX_THREAD 10 #include "GDDX_Isag_Mms_Ex\IsagMmsServiceEx.h" #include "GDDX_Isag_Sms_Ex\IsagSmsServiceEx.h" #include "MobsetApiEx\MobsetApiServiceEx.h" #include "MMS_mm7_Ex\IMm7MMSServiceEx.h" #include "BJDX_iagw_Mms_Ex\IagwMmsServiceEx.h" #include "MobsetHttp\MobsetHttp.h" //南京电信025 #import "NJDX\SendControl.dll" named_guids using namespace FULLTUNNELCONTROLLib; class CFXSendDlg : public CDialog { public: MobileCom_Head m_MCom_Head; //手机列表头 long m_TDMsgType; //通道内容类型,0-短信,1-彩信 BOOL m_bStart; long m_lSendCount; DWORD m_lSendTime; CRITICAL_SECTION m_Critical; CCmpp m_Cmpp; CCmpp3 m_Cmpp3; CSgip m_Sgip; CSmgp m_Smgp; CCbip m_Cbip; CQQTX m_QQTX; CQQTX m_QQTX2; BOOL m_QQTX2_Enable; PUSH_TD m_TD; PUSH_TDError m_TDError; HWND m_hCenterWnd; BOOL m_bSendTDMsg; CCriticalSection m_CmppExchange_Lock; CmppExchange m_CmppExchange[MAX_CMPPEXCHANGE]; SOCKET m_CmppSocket; HANDLE m_Thread_CmppServer_Start; HANDLE m_Thread_CmppServer_CheckResp; long m_CorpIDCount; long m_TempSendCount; //临时计数 DWORD m_TempSendTime; //临时计数 //用于控制发送速度 DWORD m_dwEndSocketSendTime; //最后短信发出间隔 long m_lSendInterval; //发送间隔 CCriticalSection m_SendInterval; CRITICAL_SECTION m_Critical_CmppExchange; CRITICAL_SECTION m_Critical_XLT; HANDLE m_hPipe; long m_lTDADCType; //adc方式,其实是用于判断是否移动业务通道,是否扣减用户费用的 //用于日志 CSC_Log m_Log; CCriticalSection m_Log_Lock; //用于发送队列与已发队列 CFXSend_MT m_MT_FS; CCriticalSection m_MT_FS_Lock; CFXSend_MT m_MT_YF; CCriticalSection m_MT_YF_Lock; BOOL m_bQuitNotify; //各种线程句柄 HANDLE m_Main_Thread; HANDLE m_Thread_Send[FXSEND_MAX_THREAD]; HANDLE m_Thread_Send2[FXSEND_MAX_THREAD]; HANDLE m_Thread_Recv[FXSEND_MAX_THREAD]; HANDLE m_Thread_Recv2[FXSEND_MAX_THREAD]; HANDLE m_Thread_Public_SendSms[FXSEND_MAX_THREAD]; HANDLE m_Thread_Public_Report; HANDLE m_Thread_Public_RecvSms; HANDLE m_Thread_Public_Add; HANDLE m_Thread_Public_Add2; HANDLE m_Thread_Public_Add3; BYTE * m_pLogData; long m_lLogLen; long m_lLogIndex; DWORD m_dwLogEndWrite; CString m_strLogPath; BOOL m_bQuitForEndService; //结束任务后是否退出程序 FZ_LongSms * m_pFZLongSms; CCriticalSection m_FZLongSms_Lock; FZ_Send * m_pFZSend; CRITICAL_SECTION m_Critical_FZ; long m_Public_SmsIns; long m_Public_SmsGet; CMT_Resp m_MT_Resp; CCriticalSection m_MT_Resp_Lock; CMT_Report m_MT_Report; CCriticalSection m_MT_Report_Lock; CFZ_Send m_MO_RecvSms; CCriticalSection m_MO_RecvSms_Lock; //广东电信133 long m_lGDDXEndUserID; //最后一次发送的userid DWORD m_dwGDDXEndHour; //最后一次重置每小时发送量的时间 //彩信isag ISAGMMS::IsagMmsServiceEx * m_pIsagMmsService; //短信isag ISAGSMS::IsagSmsServiceEx * m_pIsagSmsService; //mm7 IMm7MMS::IMm7MMSServiceEx * m_pImm7MmsService; //彩信iagw IAGWMMS::IagwMmsServiceEx * m_pIagwMmsService; //中山电信 CCriticalSection m_ZSDX_Lock; CZSDX_RegNum m_ZSDX_RegNum; CZSDX_Users m_ZSDX_Users; long m_ZSDX_Users_Index; SOCKET m_ZSDX3Web_sock; SOCKET m_ZSDX3Web_sock2; CSqlPool m_SqlPool; //用于大批量号码 BOOL m_bUseMoreMobile; //短信易WebServices MobsetApi::MobsetApiServiceEx * m_pMobsetApi; //短信易httpServer MobsetHttp::MobsetHttpEx * m_pMobsetHttp; //Mas1.2 /* CCriticalSection m_Mas_Lock; BOOL m_Mas_Init; // mas是否已初始化 HINSTANCE m_Mas_Lib; MAS_initWithDB m_Mas_initWithDB; MAS_release m_Mas_release; MAS_sendSMAdvTime m_Mas_sendSMAdvTime; MAS_receiveSM m_Mas_receiveSM; MAS_receiveRPT m_Mas_receiveRPT; */ //南京电信 CCriticalSection m_NJDX3_Lock; IFullTunnelServiceControlPtr m_NJDX3; //用于查重 CSendPub m_SendPub; CSendPub::AllCorpID m_LastCorpPro; //最后一次请求的企业属性 //用于首易SDK中的信易连接 CSqlPool m_XYSqlPool; //用于信易判断号码是否开通 //用于北京电信开放平台的Token CString m_strBJDXKFPT_Token; // Construction public: static long Public_SendSms_德盈无名通道2(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon); static long Public_RecvReport_Sms_德盈无名通道2(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_RecvSms_德盈无名通道2(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_SendMms_北京合众互创(CFXSendDlg *pDlg, FZ_Send &send, HINTERNET &hCon, MMS_Head & mmsHead, MMS_Z * mmsZ, BYTE * pMMSFile, BYTE * pMMSSend); static long Public_SendSms_北京天天国际短信(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon); static long Public_RecvReport_Sms_北京天天国际短信(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_RecvSms_北京天天国际短信(CFXSendDlg *pDlg, HINTERNET &hCon); static UINT ZSDX3Web_Process_Req_北京电信开放平台(CFXSendDlg * pDlg, SOCKET sock, CString strT, CString strR, CString & strRet); static long Public_SendSms_北京电信开放平台_GetToken(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon, CString & strErrMsg); static long Public_RecvReport_Sms_北京电信开放平台(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_SendSms_北京电信开放平台(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon); static long Public_SendMms_广州朗天(CFXSendDlg *pDlg, FZ_Send &send, HINTERNET &hCon, MMS_Head & mmsHead, MMS_Z * mmsZ, BYTE * pMMSFile, BYTE * pMMSSend); static long Public_SendSms_东莞政府短信平台(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon); static long Public_RecvReport_Sms_东莞政府短信平台(CFXSendDlg *pDlg, HINTERNET &hCon, CAdoRecordSet * pAdoRS); static long Public_RecvSms_东莞政府短信平台(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_RecvSms_广州首易3(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_SendSms_广州首易3(CFXSendDlg *pDlg, CAdoRecordSet * pAdo, FZ_Send &send, HINTERNET &hCon); static long Public_RecvReport_Sms_广州首易3(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_RecvReport_Mms_杭州豪霆(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_SendMms_杭州豪霆(CFXSendDlg *pDlg, FZ_Send &send, HINTERNET &hCon, MMS_Head & mmsHead, MMS_Z * mmsZ, BYTE * pMMSFile, BYTE * pMMSSend); static long Public_SendSms_深圳嘉盈(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon); static long Public_RecvReport_Sms_深圳嘉盈(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_RecvSms_深圳嘉盈(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_SendSms_深圳名传无线(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon); static long Public_RecvReport_Sms_深圳名传无线(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_RecvSms_深圳名传无线(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_SendSms_深圳壹通道HTTP(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon); static long Public_RecvReport_Sms_深圳壹通道HTTP(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_RecvSms_深圳壹通道HTTP(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_SendSms_蔡工1069(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon); static long Public_RecvReport_Sms_蔡工1069(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_RecvSms_蔡工1069(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_SendSms_SZTS(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon); static long Public_RecvReport_Sms_SZTS(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_RecvSms_SZTS(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_SendSms_BJLCZS2014(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon); static long Public_RecvReport_Sms_BJLCZS2014(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_RecvSms_BJLCZS2014(CFXSendDlg *pDlg, HINTERNET &hCon); static long CFXSendDlg::Public_RecvSms_GZHZJ2(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_RecvSms_CGWebService(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_SendSms_CGWebService(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon); static long Public_RecvReport_Sms_CGWebService(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_SendSms_KLTX_Service(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon); static long Public_RecvReport_Sms_KLTX_Service(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_RecvSms_KLTX_Serveice(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_SendSms_ZSDXSXT(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon); static long Public_RecvReport_Sms_ZSDXSXT(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_RecvSms_ZSDXSXT(CFXSendDlg *pDlg, HINTERNET &hCon); static UINT Sgip_Process(LPVOID sParam); static UINT Sgip_CheckResp(LPVOID sParam); static UINT Smgp_CheckResp(LPVOID sParam); static UINT Smgp_Process(LPVOID sParam); static UINT CmppServer_Start(LPVOID sParam); static void public_WordChange(CString & str); static void public_WordChange2(CString & str); static CStringA ConvertUnicodeToUtf8(CStringW &strUni); void Public_SendSleep(); void SetSendSpeed(long lSpeed); long Public_GetWFSms(); static UINT Public_SendSms_GDDX133_Reg_T(LPVOID pParam); static long Public_SendSms_GDDX133_Reg(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon, CString strUrl, long lMobileID,CString strMobile, CString strPasswd, CString &strUserName); BOOL Public_Report_Add(MT_Report report); BOOL Public_Report_Get(MT_Report &report); BOOL Public_RecvSms_Add(FZ_Send recv); BOOL Public_RecvSms_Get(FZ_Send & recv); static void ConvertUtf8ToGBK(CString &strUtf8); static void ConvertGBKToUtf8(CString &strGBK); static void ConvertUtf8ToGBK(CStringA &strUtf8); static void ConvertGBKToUtf8(CStringA &strGBK); static long Public_RecvSms_GZSY(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_SendSms_德盈无名通道(CFXSendDlg *pDlg, CAdoRecordSet * pAdo,FZ_Send &send, HINTERNET &hCon); static long Public_SendSms_信易(CFXSendDlg *pDlg, CAdoRecordSet * pAdo,FZ_Send &send, HINTERNET &hCon); static long Public_RecvSms_Mas1_2(CFXSendDlg *pDlg, CMySqlConnection * pMySqlConnection); static long Public_SendWebReq(HINTERNET &hCon, CString strUrl, CString strXml, TCHAR *pRetBuf, DWORD lRetBufSize, CString strSOAPAction); static long Public_SendSms_KLTX(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon); static long Public_SendSms_GDDX133_Send(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon, CString strUrl,long lMobileID, CString strMobile, CString strPasswd, CString &strUserName); static long Public_SendSms_GDDX133_GetNum(CFXSendDlg *pDlg,CAdoRecordSet * pAdoRS , CString &strMobile, CString &strPasswd , CString & strUserName , long lSmsCount); static long Public_RecvReport_GDDX133(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_SendSms_GDDX133(CFXSendDlg *pDlg,CAdoRecordSet * pAdoRS , FZ_Send &send, HINTERNET &hCon); static long Public_SendSms_CG0578(CFXSendDlg *pDlg,CAdoRecordSet * pAdoRS , FZ_Send &send, HINTERNET &hCon); static long Public_SendSms_GZSY(CFXSendDlg *pDlg, CAdoRecordSet * pAdo,FZ_Send &send, HINTERNET &hCon); static long Public_SendSms_BJLCZS(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon); static long Public_SendSms_北京合众互创(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon); static long Public_SendSms_BJYZZX(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon); static long Public_SendSms_BJHS(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon); static long Public_SendSms_QDWT(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon); static long Public_SendSms_12580(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon); static long Public_SendSms_Mas1_2(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, CMySqlConnection * pMySqlConnection); static long Public_SendSms_NJDX3(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon); BOOL Public_GetSms(FZ_Send *pSend,long lMaxSend,long lMaxWaitTime); static UINT Public_SendSms_T(LPVOID pParam); static UINT Public_RecvReport_T(LPVOID pParam); static UINT Public_RecvSms_T(LPVOID pParam); BOOL TD_StartThread(); long Public_SendSms(CString strRecver, CString strMobile, CString strSrcNum, CString strAddNum, CString strMsg, long lSendID, long lCorpID,long lUserID, BOOL bMult, long lMaxMobile,long lMmsFileID , long lmmSize, BOOL bOnlySubmitMmsFile = false); BOOL Public_Resp_Get(MT_Resp & resp); BOOL Public_Resp_Add(MT_Resp resp); BOOL SendNextSms_LongSms(FZ_LongSms Sms, TCHAR *pMsg , FZ_LongSms * SplitSms , long & lMaxSplit, long &lSendID); void ShowTDMsg(); long TD_SendSms(const TCHAR *pRecver, const TCHAR *pMobile, const TCHAR *szSrcNum, const TCHAR *szAddNum, const TCHAR *pMsg, long lStatusReport, long ludhl, long lSendID, long lCorpID, long lUserID, TCHAR *pMsgID, BOOL bHandFree, long lMmsFileID, long lmmSize, BOOL bOnlySubmitMmsFile = false); long TD_Init(); BOOL TD_Stop(); long TD_Get(FZ_Send & recvSms, TCHAR *Msg_Fmt, TCHAR *Msg_Length ,long & lLongMsgRand ,long & lLongMsgAll, long & lLongMsgIndex); long TD_GetReport(TCHAR *No, TCHAR *Stat, TCHAR *Done_time, TCHAR *MsgID , long & lReportOK,long & lTDMsgType , long & bSubmitError); BOOL TD_GetSendResp( MT_Resp & resp ); BOOL TD_isConnectGateWay(); long TD_GetWFSms(); void TD_GetErrMsg(CString & str); long TD_SetSendSpeed( long lSpeed ); long TD_GetReportSms(); UINT Main_Stop(); BOOL Log_Init(); long Log_Write(CString str); long YF_CheckTimeoutRet(CAdoRecordSet * pAdoRS,BOOL bAll=false); BOOL WriteRptToMas(CAdoRecordSet * pAdoRS,FXSend_MT * pMT, long lErrCode , CString strErrMsg); BOOL YF_In(long lSendID,FXSend_MT & mt); BOOL YF_GetLongSms(long lSendID,FXSend_MT mtS,FXSend_MT & mt); BOOL YF_Add(FXSend_MT mt); BOOL FS_Add(FXSend_MT mt); BOOL FS_Get(FXSend_MT & mt); static CString SQLStr(CString & str); BOOL VerifySignature(CAdoRecordSet* pAdoRS, FXSend_MT* pMT, TCHAR* pSrcNum); long WriteSendRetToCorpSmsM(CAdoRecordSet * pAdoRS,FXSend_MT * pMT); long WriteSendRetToCorpSmsM2(CAdoRecordSet * pAdoRS,FXSend_MT * pMT,CString & strValues); long WriteSendRetToCorpSmsM_XY(CAdoRecordSet * pAdoRS,FXSend_MT * pMT); void GetCurrentPath(TCHAR * pPath); BOOL Main_ConnectToGateWay(); long Main_Process_Log(); void CFXSendDlg::AddLog(CString str,long lLogType,long lShowInWin); static void YD_Process_Sleep( CFXSendDlg * pDlg , long s); static CString GetIPHead(CString strIP,CString strSplit); BOOL PushReport(long lSendID,long lCorpID,long lUserID , long lStatus , long lErrorCode , const TCHAR * szErrorCode); static UINT Cmpp_CheckResp(LPVOID sParam); static UINT Cmpp_Process(LPVOID sParam); static UINT ClearMobileInReSendT(LPVOID sParam); static UINT Cmpp3_CheckResp(LPVOID sParam); static UINT Cmpp3_Process(LPVOID sParam); void EnableButton( BOOL b); static void AdjustToken(); static BOOL Reboot(); static void GetProcessNameAndID(DWORD processID, TCHAR *pProcessName); static BOOL TerminateProcess2(const TCHAR * pName); static TCHAR * ExMobileGZM( TCHAR * pMobile ); static long EnCodeUTF8(TCHAR *pSrc,char * pTag , long lSrcLen , BOOL bAddQuot_Print); static BYTE toHex(const BYTE &x); static CStringA URLEncode(CStringA sIn); static BYTE toHex2(const BYTE &x); static BYTE fromHex(const BYTE &x); static CStringA URLEncode2(const CStringA &sIn); static CStringA URLDecode(CStringA &sIn); static CString URLDecode(CString &sIn); static void AddLogMsg2(_SendNextSms Send , CString str); void AddLog2(CString str); static UINT RecvSmsReportT(LPVOID sParam); static UINT RecvSmsReportT2(LPVOID sParam); static UINT QQTX_RecvT(LPVOID sParam); static BOOL GetSpiltUnicodeMsg(TCHAR *pMsg, TCHAR *pReMsg, long lSplitCount, long lSplitLen, long &lAllSplitLen); static BOOL GetSpiltAsciiMsg(TCHAR *pMsg, TCHAR *pReMsg, long lSplitCount, long lSplitLen, long &lAllSplitLen); static BOOL isChinese(TCHAR *pSrc, long lSrcLen); static void AddLogMsg( _SendNextSms Send , CString str ); void AddLog(CString str); static UINT SendNextSms_DBT(LPVOID sParam); static UINT SendNextSmsT(LPVOID sParam); static UINT Main_Start(LPVOID sParam); BOOL SaveSetup(); void CreateNewSetup(); void GetMobSetup_Name(TCHAR *pFileName); BOOL ReadSetup(); static long Mms_GetPro(CFXSendDlg * pDlg , CAdoRecordSet * pAdo ,FZ_Send &send,CString strMmsFilePath , MMS_Head & mmsHead,MMS_Z * mmsZ,BYTE * pMMSFile); static long Public_SendMms_GDDX_ISAG(CFXSendDlg *pDlg, FZ_Send &send, HINTERNET &hCon,MMS_Head & mmsHead,MMS_Z * mmsZ,BYTE * pMMSFile,BYTE * pMMSSend); static long Public_SendMms_MM7(CFXSendDlg *pDlg, FZ_Send &send, HINTERNET &hCon,MMS_Head & mmsHead,MMS_Z * mmsZ,BYTE * pMMSFile,BYTE * pMMSSend); static long Public_SendMms_GZHZJ2(CFXSendDlg *pDlg, FZ_Send &send,CAdoRecordSet *pAdoRS, HINTERNET &hCon,MMS_Head & mmsHead,MMS_Z * mmsZ,BYTE * pMMSFile,BYTE * pMMSSend); static long Public_SendMms_GZHZJ(CFXSendDlg *pDlg, FZ_Send &send, HINTERNET &hCon,MMS_Head & mmsHead,MMS_Z * mmsZ,BYTE * pMMSFile,BYTE * pMMSSend); static long Public_SendMms_BJHS(CFXSendDlg *pDlg, FZ_Send &send, HINTERNET &hCon,MMS_Head & mmsHead,MMS_Z * mmsZ,BYTE * pMMSFile,BYTE * pMMSSend); static long Public_SendMms_北京宇宙之讯(CFXSendDlg *pDlg, FZ_Send &send, HINTERNET &hCon, MMS_Head & mmsHead, MMS_Z * mmsZ, BYTE * pMMSFile, BYTE * pMMSSend); static long Public_SendMms_BJZW(CFXSendDlg *pDlg, FZ_Send &send, HINTERNET &hCon,MMS_Head & mmsHead,MMS_Z * mmsZ,BYTE * pMMSFile,BYTE * pMMSSend); static long Public_SendMms_GZSY(CFXSendDlg *pDlg, FZ_Send &send, HINTERNET &hCon,MMS_Head & mmsHead,MMS_Z * mmsZ,BYTE * pMMSFile,BYTE * pMMSSend); static long Public_SendMms_BJDX_IAGW(CFXSendDlg *pDlg, FZ_Send &send, HINTERNET &hCon,MMS_Head & mmsHead,MMS_Z * mmsZ,BYTE * pMMSFile,BYTE * pMMSSend); static long Public_RecvReport_Mms_GZHZJ(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_RecvReport_Mms_GZHZJ2(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_RecvReport_Mms_BJHS(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_RecvReport_Sms_CG0578(CFXSendDlg *pDlg, HINTERNET &hCon); static long Public_RecvReport_Sms_Mas1_2(CFXSendDlg *pDlg, CMySqlConnection * pMySqlConnection); static long Public_SendSms_GDDX_ISAG(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon); static CStringA Mms_GetSmil(MMS_Head &mmsHead, MMS_Z *mmsZ,long lFileID=0 ); static long Mms_GetAttach(MMS_Head &mmsHead, MMS_Z *mmsZ, BYTE *pMMSSend,BOOL bSubPart, FZ_Send &send,long lSpecialType=0); static CString Mms_GetXmlVal(CString str, CString strBegin, CString strEnd); static long Mms_SendWebReq(HINTERNET &hCon, CString strUrl, BYTE * pSend,long lSendLen, char *pRetBuf, long lRetBufSize , CString strContentType , CString strSOAPAction ,BOOL bSendMms7=false, BOOL bHttps=false); static long Mms_SendWebReq2(CString strUrl, BYTE * pSend, long lSendLen, char *pRetBuf, long lRetBufSize, CString strContentType, CString strSOAPAction); static CStringA GetExpFileName(CString strFileName); static CString GetShortFileName(CString strFileName); static CStringA AsciiToHex_S(CStringA sIn); static CStringA AsciiToHex_S(CString sIn); static bool Main_bInTime(SYSTEMTIME tBegin , SYSTEMTIME tEnd); static UINT Public_SendSms_KLTX_Reg_T(LPVOID pParam); static long ZSDX3Web_Register3(HINTERNET & hCon , CString strUC , CString strPasswd ,CString strUrl, CString strUpUrl , CString& strConnID); static UINT ZSDX3Web_Process_T(LPVOID pParam); static UINT ZSDX3Web_Process_Socket(LPVOID pParam); static UINT ZSDX3Web_Process_Socket2(LPVOID pParam); static UINT ZSDX3Web_Process_Req_KLTX(CFXSendDlg * pDlg ,SOCKET sock,CString strR); static UINT ZSDX3Web_Process_Req_KLTX_Service(CFXSendDlg * pDlg ,SOCKET sock,CString strIP,CString strT,CString strR); static UINT ZSDX3Web_Process_Req_BJYZZX(CFXSendDlg * pDlg ,SOCKET sock,CString strR); static UINT ZSDX3Web_Process_Req_BJLCZS(CFXSendDlg * pDlg ,SOCKET sock,CString strT,CString strR); static UINT ZSDX3Web_Process_Req_北京合众互创(CFXSendDlg * pDlg, SOCKET sock, CString strT, char * pData,long lDataLen); static UINT ZSDX3Web_Process_Req_东莞政府短信平台(CFXSendDlg * pDlg, SOCKET sock, CString strT, CString strR, CString & strRet); static UINT ZSDX3_Web_Process_Service_SendT(LPVOID pParam); static BOOL ZSDX3_Web_Process_Service_StatusBack(CFXSendDlg * pDlg,CAdoRecordSet & AdoRS,FXSend_MT & mt); static long ZSDX3_Web_Process_Service_SendSms(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FXSend_MT &mt, HINTERNET &hCon,CString strUser,CString strPasswd,CString strConnID,long lUserID,long lRegIndex); ZSDX_Users * ZSDX3Web_GetNextUser(CString & strConnID); BOOL ZSDX3Web_Init(SOCKET & sock,u_short uPort); static BOOL ZSDX3Web_SocketSend(SOCKET sock, char *pData, long lLen); static BOOL ZSDX3Web_SendHttpRet(SOCKET s, const char * pRet , long lLen); static CString ZSDX3Web_GetHttpVal(CString str, CString strBegin); static BOOL ZSDX3Web_ReadFrame(SOCKET s, ZSDX_Data_Recv *pRecv); static BOOL isSocketClose(SOCKET s); static CStringA ZSDX3Web_GetXmlVal(CStringA str , CStringA strBegin, CStringA strEnd); CFXSendDlg(CWnd* pParent = NULL); // standard constructor // Dialog Data //{{AFX_DATA(CFXSendDlg) enum { IDD = IDD_FXSEND_DIALOG }; CStatic m_S_ZD_Recv2; CStatic m_S_Select_DB; CStatic m_S_ZD_Send2; CStatic m_S_ZD_Recv; CStatic m_S_ZD_Send; CButton m_B_NoRet; CButton m_B_NoReport; CButton m_B_ShowLog; CButton m_S_Send; CButton m_B_CheckBack; CEdit m_E_Msg2; CEdit m_E_Msg; CButton m_B_Start; CString m_strIP; CString m_strPasswd; CString m_strUser; CString m_strIP2; CString m_strPasswd2; CString m_strUser2; UINT m_lNumType; UINT m_lSendFCS; // UINT m_lSendRet; UINT m_lTopSel; CString m_strWindow; BOOL m_bCheckBack; UINT m_lDelay; BOOL m_bMainReSend; BOOL m_bExCM; BOOL m_bCheckCM; BOOL m_bNoRet; BOOL m_bNoReport; BOOL m_bExCM2; BOOL m_bNo86; int m_lUpdateLock; int m_lSelectLock; UINT m_lSpeed; UINT m_lOnePackSmsCount; BOOL m_bSupLongSms; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CFXSendDlg) public: virtual BOOL PreTranslateMessage(MSG* pMsg); protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: HICON m_hIcon; // Generated message map functions //{{AFX_MSG(CFXSendDlg) virtual BOOL OnInitDialog(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); afx_msg void OnSave(); afx_msg void OnStart(); #ifdef _M_X64 afx_msg void OnTimer(UINT_PTR nIDEvent); #else afx_msg void OnTimer(UINT nIDEvent); #endif afx_msg void OnTest(); afx_msg void OnShowlog(); afx_msg void OnShowWindow(BOOL bShow, UINT nStatus); afx_msg void OnNoret(); afx_msg void OnNoreport(); afx_msg void OnTest2(); afx_msg void On0(); afx_msg void OnChangeTopsel(); afx_msg void OnChangeDelay(); afx_msg void OnChangeSpeed(); afx_msg void OnSelchangeSelectLock(); afx_msg void OnSelchangeUpdateLock(); virtual void OnCancel(); afx_msg void OnTdsetup(); afx_msg void OnChangeOnepacksmscount(); afx_msg void OnClose(); //}}AFX_MSG afx_msg LRESULT On_Add_Log( WPARAM wParam , LPARAM lParam ); afx_msg LRESULT On_Add_Log2( WPARAM wParam , LPARAM lParam ); afx_msg LRESULT On_TD_Stop( WPARAM wParam , LPARAM lParam ); afx_msg LRESULT On_TD_Req( WPARAM wParam , LPARAM lParam ); DECLARE_MESSAGE_MAP() public: CString m_strSendRet; afx_msg void OnDestroy(); CButton m_B_NoRecv; BOOL m_bNoRecv; afx_msg void OnBnClickedNorecv(); afx_msg void OnBnClickedCheckback(); static BOOL QQTX_CheckReq(CFXSendDlg * pDlg,CAdoRecordSet * pAdoRS,CAdoRecordSet * pAdoRS2); BOOL m_bExpLongSms; CButton m_B_ShowLog2; afx_msg void OnBnClickedShowlog2(); afx_msg void OnBnClickedSCmpp(); CString m_strDBProvider; afx_msg void OnBnClickedMainresend(); afx_msg void OnCbnSelchangeCheckresend(); int m_lCheckReSend; static CStringA UnicodeToString(TCHAR * pMsg); BOOL m_bVerifySignature; BOOL m_bVerifySignatureReject; }; //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_FXSENDDLG_H__2B44AC49_F0C4_4DD0_BE7D_F08A1AA00FF9__INCLUDED_)