// MainFrm.h : interface of the CMainFrame class // ///////////////////////////////////////////////////////////////////////////// #if !defined(AFX_MAINFRM_H__53645CFE_009C_4AD6_9EB7_EEB04AE157ED__INCLUDED_) #define AFX_MAINFRM_H__53645CFE_009C_4AD6_9EB7_EEB04AE157ED__INCLUDED_ #include "StdAfx.h" // Added by ClassView #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "CorpSmsDoc.h" #include "FuncView.h" #include "BaseView.h" #include "ProcessSocket.h" #include "DLG_GetUser.h" #include "..\public\reportctrl\ReportCtrl.h" #include "DLG_CJCard.h" #include "DLG_Commend.h" //#ifdef SUPPER_UBOX #include ".\UBox\phonic_ubox.h" #include "DLG_UBox_Dial.h" #include "DLG_UBoxPop.h" #include "DLG_UBox_UserLog.h" //#endif #define SHELL_ICON_MESS WM_USER+260 #define UBOX_EVENT WM_USER+270 #define UBOX_EVENT_DTMF 1 #define UBOX_EVENT_JT 2 #define UBOX_EVENT_WJ 3 #define UBOX_EVENT_HOOK_OFF 4 #define UBOX_EVENT_HOOK_UP 5 #define UBOX_EVENT_HOOK_UP2 6 #define UBOX_EVENT_CALLOUT 7 #define UBOX_EVENT_ERROR 8 #define UBOX_EVENT_CHAR 9 #define CORPSMS_ICON_R_SHOW WM_USER + 2001 //显示主界面 #define CORPSMS_ICON_R_SMS WM_USER + 2002 //显示主界面 #define CORPSMS_ICON_R_MMS WM_USER + 2003 //显示主界面 #define CORPSMS_ICON_R_QUIT WM_USER + 2004 //显示主界面 typedef CTypedPtrList CUser; typedef CTypedPtrArray CDLG_UBoxPop; typedef struct _RecordUpload { long lUBoxLogID; CString strRecordName; }RecordUpload; typedef CList CRecordUpload; class DLG_HDQuery; class DLG_White2; class CMainFrame : public CFrameWnd { public: CFuncView * m_pFuncView; CBaseView * m_pBaseView; CImageList m_Image; CButton m_B_CJ; CButton m_B_YJ; CAdoConnection m_adoConnection; CAdoRecordSet m_AdoRS; CAdoRecordSet m_AdoRS2; long m_lCorpID; long m_lUserID; ULONG m_ulPurviewType; //用户权限类型 ULONG m_ulPurview; //用户权限 CString m_strLoginIP; SM_Setup m_Setup; CUser m_User; SM_User * m_pCurUser; ANS_Login m_Ans_Login; ANS_Login2 m_Ans_Login2; CProcessSocket m_Socket; CPictureEx m_B_Gif; CString m_strTEXT; long m_lGDText; DLG_CJCard * m_pCJCard; //充值卡 BOOL m_CliSmsTD_Req; //用于判断通道设置是哪里发出的 //过滤语 long m_lFiltCount; ANS_Filt2_SeeDataU * m_pFilt; long m_lNoSupperWordCount; ANS_Login3_NoSupperData * m_pNoSupperWord; //黑名单 long m_lBackCount; ANS_Back_SeeData * m_pBack; CString m_strMobile; //此登录用户的手机号码 CString m_strMainGroupID; //主用户组ID long m_lMainGroupID; //主用户组ID CString m_strMainGroupName; //用户组名称 //防止恶意向中心端提交信息 DWORD m_dwEndTYjTime; //ExcelAddin协助参数 HWND m_hExcelAddinWnd; long m_lAddinType; //1-Open,2-SendSms,3-Address BOOL m_bLoginOK; //推荐客户 DLG_Commend * m_pCommendDlg; DLG_HDQuery * m_pHDQuery; //masoem CString m_strMasTitle; BOOL m_bCheckUpdateManual; CString m_strCorpWorkUrl; //管理易登录 CString m_strPasswdEnc; //加密后的密码,用于管理易登录 CCriticalSection m_Update_Lock; //用于记录图标信息 long m_Iocn_UBox_KT; #ifdef SUPPER_UBOX //来电显示盒子 long m_ubox_Status; HINSTANCE m_ubox_Lib; Mubox_open m_ubox_Open; Mubox_close m_ubox_close; Mubox_get_work_mode m_ubox_get_work_mode; Mubox_send_dtmf m_ubox_send_dtmf; Mubox_record_stream m_ubox_record_stream; Mubox_stop_record m_ubox_stop_record; Mubox_record_file m_ubox_record_file; UBOX_HANDLE m_ubox_endHandle; DLG_UBox_Dial m_DlgUBoxDial; BOOL m_ubox_bPhoneUp; //现在状态是否为拿起话机,拿起话机才能拨号 BOOL m_ubox_Phoneing; //现在状态是否为通知中,振铃也算是通话中 //以下用于弹出窗口 CDLG_UBoxPop m_ubox_Pop; DLG_UBoxPop * m_ubox_NowPop; CCriticalSection m_ubox_Lock; //以下用于上传录音文件 CRecordUpload m_RecordUpload; long m_RecordUpload_UBoxLogID; DWORD m_RecordUpload_EndSendFrame; long m_RecordUpload_AllSize; long m_RecordUpload_UpSize; CFile m_RecordFile; #endif BOOL m_bLogin; //是否已经登录成功 //用于白名单导入 DLG_White2 * m_pWhie2; protected: long m_lCurFunc; DLG_GetUser m_DlgProcess; BOOL m_bShowProcess; BOOL m_bChangeGAddress; BOOL m_bReadGAddressError; protected: // create from serialization only CMainFrame(); DECLARE_DYNCREATE(CMainFrame) // Attributes public: // Operations public: // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CMainFrame) public: virtual BOOL PreCreateWindow(CREATESTRUCT& cs); protected: virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext); //}}AFX_VIRTUAL // Implementation public: static BOOL AutoBackAddress_Save(CMainFrame * pFrame , CString strName); static UINT AutoBackAddress_T(void *pParam); void AutoBak_SendLog(); BOOL isSupportPhs(); long GetMaxAddressCount(); long FindBX(long lMon, long lMon2, long lDay,CReportCtrl *pList); long GetQJCM( CString & strCM ); long GetMaxSendMsgLen(); CString GetSoftSName(); void GetUpdateMsg(BOOL bManual=false); void YWDB(BOOL bYW); long FindNS(long lMon,long lMon2, CReportCtrl *pList); static BOOL UpdateDB(CAdoConnection & m_adoConnection,CAdoRecordSet & m_AdoRS); void GetBack(); void GDText(); void GetGGMsg(); long FindSR(long lMon,long lDay,long lMon2,long lDay2,BOOL bGAddress,BOOL bPAddress,CReportCtrl* pList); BOOL ReadGAddress(BOOL bRefresh=false); void SetStatMsg(TCHAR *pMsg); BOOL ProcessSocket(Socket_Head *pHead); BOOL SendFrame( DWORD lFuncType , unsigned char * pFrame , unsigned long lFrameLen ); BOOL GetUserPurview( ULONG ulPurview ,BOOL bShowWarning=true); BOOL GetUserPurview_HideNum(); void GetCurrentPath(TCHAR *pPath); void SaveSetup(); void ReadSetup(); void CreateNullSetup(); virtual ~CMainFrame(); void uboxPop_New(CString strNumber,long lCallWay,long lBeginTime=0); void uboxPop_Del(DLG_UBoxPop * pPop); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif protected: // control bar embedded members CStatusBar m_wndStatusBar; CToolBar m_wndToolBar; CSplitterWnd m_wndSplitter; static void WINAPI ubox_NotifyProc(UBOX_HANDLE uboxHnd,int eventID,unsigned long param1,unsigned long param2,unsigned long param3,unsigned long param4); public: BOOL ubox_SetStatus(long lStatus); BOOL ubox_Close(); BOOL ubox_Init(); BOOL ubox_Enable(); static CString GetMD5(CString str,BOOL bLower=false); void Mas_ProcessSendCount(); BOOL ProcessSocket(Socket_Head_Add *pHead,BYTE* pFrame); DWORD GetExcelAddinErrorNum(); void GetCenterTime(); long GetMaxUsersCount(); BOOL ReadGAddress2(BOOL bRefresh=false); long GetMaxSendMsgLen_longSms(long & lCMLen); void OnTYj2( const TCHAR * pType ); afx_msg void OnTYj(); // Generated message map functions protected: //{{AFX_MSG(CMainFrame) afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnTimer(UINT_PTR nIDEvent); afx_msg void OnModifyPasswd(); afx_msg void OnMsgsetup(); afx_msg void OnTShowsmslist(); afx_msg void OnTShowmmslist(); afx_msg void OnTMsgsetup(); afx_msg void OnTAdduser(); afx_msg void OnUpdateTAdduser(CCmdUI* pCmdUI); afx_msg void OnTAddgroup(); afx_msg void OnUpdateTAddgroup(CCmdUI* pCmdUI); afx_msg void OnTSmsview(); afx_msg void OnUpdateTSmsview(CCmdUI* pCmdUI); afx_msg void OnTSmsnew(); afx_msg void OnUpdateTSmsnew(CCmdUI* pCmdUI); afx_msg void OnUpdateTShowsmslist(CCmdUI* pCmdUI); afx_msg void OnUpdateTShowmmslist(CCmdUI* pCmdUI); afx_msg void OnClose(); afx_msg void OnFindsr(); afx_msg void OnCompdb(); afx_msg void OnHelp2(); afx_msg void OnSystemsetup(); afx_msg void OnUpdateSystemsetup(CCmdUI* pCmdUI); afx_msg void OnTCj(); afx_msg void OnSendsetup(); afx_msg void OnTLogo(); afx_msg void OnTBill(); afx_msg void OnUpdateTBill(CCmdUI* pCmdUI); afx_msg void OnUpdateHelp2(CCmdUI* pCmdUI); afx_msg void OnSetupSzgj(); afx_msg void OnNsts(); afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg void OnBxts(); afx_msg void OnHd(); afx_msg void OnSetupTd(); afx_msg void OnTLogo2(); afx_msg void OnSetupImMas(); afx_msg void OnAppCommend(); afx_msg void OnTGg(); afx_msg void OnOperSendsms(); afx_msg void OnOperSendfax(); afx_msg void OnOperSendmms(); afx_msg void OnCheckupdate(); afx_msg void OnTCorpwork(); afx_msg void OnTUbox(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg LONG_PTR UBox_Event( WPARAM wParam , LPARAM lParam ); afx_msg void OnShellIcon_Show(); afx_msg void OnShellIcon_Sms(); afx_msg void OnShellIcon_Mms(); afx_msg void OnShellIcon_Exit(); //}}AFX_MSG afx_msg LONG_PTR On_Picture_Click( WPARAM wParam , LPARAM lParam ); afx_msg LONG_PTR ProcessSocket_Error( WPARAM wParam , LPARAM lParam ); afx_msg LONG_PTR ProcessSocket_Frame( WPARAM wParam , LPARAM lParam ); afx_msg LONG_PTR OnShellIconMess( WPARAM wParam , LPARAM lParam ); //任务栏图标处理过程 afx_msg LONG_PTR On_ExcelAddin_Data( WPARAM wParam , LPARAM lParam ); afx_msg LONG_PTR On_ExcelAddin_Open( WPARAM wParam , LPARAM lParam ); afx_msg LONG_PTR On_ExcelAddin_GetGroup( WPARAM wParam , LPARAM lParam ); DECLARE_MESSAGE_MAP() public: BOOL SendSms(CString strMobile, CString strMsg); afx_msg void OnAppCalltype(); afx_msg void OnUpdateAppCalltype(CCmdUI *pCmdUI); int UBox_AddUploadRecordFile(long lUBoxLogID, CString strRecordName); void UBox_Upload_Record(void); int UBox_Upload_Record_SendNextFrame(void); void OnShellIcon_Show2(BOOL bShowRecever=true); afx_msg void OnAppWhite2(); afx_msg void OnUpdateAppWhite2(CCmdUI *pCmdUI); }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_MAINFRM_H__53645CFE_009C_4AD6_9EB7_EEB04AE157ED__INCLUDED_)