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

📄 batchmsgset.cpp

📁 能够实现联通和移动短消息群发的软件
💻 CPP
字号:
// BatchMsgSet.cpp : implementation file
//

#include "stdafx.h"
#include "AppDemo.h"
#include "BatchMsgSet.h"
#include <afx.h>
#include "ado.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CBatchMsgSet dialog
#include "commanager.h"
extern CComManager gMsgManager;

CADODatabase  db;
CADORecordset rs;
CADORecordset WriteRs;
CADORecordset BatchRS;
CADORecordset *RsHIS;




CBatchMsgSet::CBatchMsgSet(CWnd* pParent /*=NULL*/)
	: CDialog(CBatchMsgSet::IDD, pParent)
{
	//{{AFX_DATA_INIT(CBatchMsgSet)
	m_Code = _T("");
	m_CreID =TRUE;
	m_EndID = 0;
	m_SendMsg = _T("请收到后直接回短消息到13074514547,现正在进行群发测试,谢谢你的配合!");
	m_StartID = 0;
	m_FeeID = FALSE;
	m_SaveID = FALSE;
	m_MsgLength = 0;
	m_LtChanID = 0;
	m_YdChanID = 0;
	m_CodeID = _T("");
	m_Mount = 0;
	m_Speed = 1.0f;
	m_TFH = _T("");
	m_ServiceID = _T("88");
	m_FeeType = _T("02");
	m_FeeCode = _T("000000");
	m_FeeUserType = 3;
	//}}AFX_DATA_INIT
}


void CBatchMsgSet::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CBatchMsgSet)
	DDX_Control(pDX, IDC_COMBO1, m_comb);
	DDX_Control(pDX, IDC_PAUSE, m_Pause);
	DDX_Control(pDX, IDC_MOUNT, m_MountCtrl);
	DDX_Control(pDX, IDC_CODE, m_ComBox);
	DDX_CBString(pDX, IDC_CODE, m_Code);
	DDX_Check(pDX, IDC_CRE, m_CreID);
	DDX_Text(pDX, IDC_END, m_EndID);
	DDX_Text(pDX, IDC_MSG, m_SendMsg);
	DDX_Text(pDX, IDC_START, m_StartID);
	DDX_Check(pDX, IDC_FEE, m_FeeID);
	DDX_Check(pDX, IDC_SAVE, m_SaveID);
	DDX_Text(pDX, IDC_MSGLENGTH, m_MsgLength);
	DDX_Text(pDX, IDC_LTCHANID, m_LtChanID);
	DDX_Text(pDX, IDC_YDCHANID, m_YdChanID);
	DDX_Text(pDX, IDC_CodeID, m_CodeID);
	DDX_Text(pDX, IDC_MOUNT, m_Mount);
	DDX_Text(pDX, IDC_SPEED, m_Speed);
	DDX_Text(pDX, IDC_TFH, m_TFH);
	DDX_Text(pDX, IDC_Service, m_ServiceID);
	DDX_Text(pDX, IDC_FeeType, m_FeeType);
	DDX_Text(pDX, IDC_FeeCode, m_FeeCode);
	DDX_Text(pDX, IDC_FeeUserType, m_FeeUserType);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CBatchMsgSet, CDialog)
	//{{AFX_MSG_MAP(CBatchMsgSet)
	ON_BN_CLICKED(IDC_BATCH, OnBatch)
	ON_BN_CLICKED(IDC_LINK, OnLink)
	ON_BN_CLICKED(IDC_SETRS, OnSetrs)
	ON_EN_CHANGE(IDC_MOUNT, OnChangeMount)
	ON_EN_CHANGE(IDC_START, OnChangeStart)
	ON_WM_TIMER()
	ON_BN_CLICKED(IDC_TESTSEND, OnTestsend)
	ON_EN_CHANGE(IDC_MSG, OnChangeMsg)
	ON_CBN_SELCHANGE(IDC_CODE, OnSelchangeCode)
	ON_BN_CLICKED(IDC_PAUSE, OnPause)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()


void CBatchMsgSet::OnBatch() 
{
	// TODO: Add your control notification handler code here
	//群发
	UpdateData();
	CString strm_StartID,strm_EndID,Code;
	strm_StartID.Format("%d",m_StartID);
	strm_EndID.Format("%d",m_EndID);
	BatchRS.Open(db.GetActiveConnection(),"SELECT * FRom MOBIL WHERE ID>="+strm_StartID +" And id<=" + strm_EndID,1) ;

	SetTimer(1,1000.0/m_Speed,NULL);
}

void CBatchMsgSet::OnLink() 
{
	// TODO: Add your control notification handler code here
	gMsgManager.IniSCMPP("192.168.45.1",6100,"CS","CS",888);
}

void CBatchMsgSet::OpenDB()
{
  
  return ;
  db.Open ("Provider=sqloledb;server=192.168.0.1;database=全省联通用户;uid=hm;pwd=");
  //rs.Open(db.GetActiveConnection(),"select * from mobilTest",1);   
  //WriteRs.Open(db.GetActiveConnection(),"state",2); 
  //RsHIS->Open(db.GetActiveConnection(), "SELECT id,code,编号区间,发送时间,内容 FROM HIS ORDER BY 发送时间 DESC",1);
  // m_DbGrid.ClearFields ();//
  //m_DbGrid.SetRefDataSource((LPUNKNOWN) RsHIS);
  //m_DbGrid.Refresh(); 
  return ;

}

BOOL CBatchMsgSet::OnInitDialog() 
{
	CDialog::OnInitDialog();
     
	m_comb.SetCurSel(0);

	return TRUE;  // return TRUE unless you set the focus to a control
	//OpenDB();
	// TODO: Add extra initialization here
	//CString Code;
	//rs.Open(db.GetActiveConnection(),"区编号",2) ;
    
	//while(!(rs.IsEof()))
    //{ 
    //    rs.GetFieldValue(0,Code);
//		m_ComBox.AddString(Code);
//		rs.MoveNext(); 
//	}

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}




void CBatchMsgSet::OnSetrs() 
{
	// TODO: Add your control notification handler code here
  CString ss,ss1;
  long st1,end1;
  CString strst1,strend1;
  //UpdateData();
  //AfxMessageBox(m_Code);
  rs.Open(db.GetActiveConnection(), "select * from 区编号 where code='"  +m_Code + "'",1);
  
  rs.GetFieldValue("startid",st1);
  rs.GetFieldValue("endid",end1);
  m_Mount=end1-st1+1;
  strst1.Format("从%d-到-%d总共:%d",st1,end1,m_Mount);
  m_StartID=st1;
  m_EndID=end1;
  CodeMaxID=end1;
  m_CodeID=strst1;
  UpdateData(FALSE);

	
}

void CBatchMsgSet::OnChangeMount() 
{
	UpdateData();
	//s=m_Mount;
	if (m_StartID+m_Mount>CodeMaxID)
	{
		m_EndID=CodeMaxID;
		m_Mount=CodeMaxID-m_StartID;	
	}
	else
	{
		m_EndID=m_StartID+m_Mount-1;
	}
		UpdateData(FALSE);
}

void CBatchMsgSet::OnChangeStart() 
{
	UpdateData();
	if(m_StartID>CodeMaxID)
	{
		m_StartID=CodeMaxID;

	}
	m_EndID=m_StartID+m_Mount-1;
	if(m_EndID>CodeMaxID)
	{
		m_EndID=CodeMaxID;	
		m_Mount=CodeMaxID-m_StartID+1;
	}
	UpdateData(FALSE);
}

void CBatchMsgSet::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	static ii;
	UpdateData();
	++ii;
	CString Mobil;
	if (m_Speed==0) m_Speed=1;
	SetTimer(1,1000.0/m_Speed,NULL);
	Mobil.Format("%d/%d",ii,m_Mount);
	long UserID;
	SetWindowText(Mobil);
	while(!(BatchRS.IsEof()))
    { 
        BatchRS.GetFieldValue("Mobil",Mobil);
		Mobil.TrimRight(" "); 
	    CString  Laststring1 = "联通亲情送歌送你温馨,拨打13010980666,如090给你幸福,让美妙旋律载着深深祝福,传递给您的亲朋好友!咨询:04512369900";
		CString  Laststring2 = "联通亲情送歌新添好歌曲,更新更酷更炫的音乐,让你点不停听不够,317我只喜欢你、090给你幸福,快拨打13010980666,送去你的新祝福";
       
		BatchRS.GetFieldValue("点歌用户",UserID);
		m_SendMsg=Laststring1;
		if (UserID)m_SendMsg=Laststring2;

		gMsgManager.Submit(m_LtChanID,1,m_CreID,m_SaveID,0,15,m_ServiceID,m_FeeType,
			m_FeeCode,m_FeeUserType,Mobil,m_TFH,Mobil,m_SendMsg);
		BatchRS.MoveNext(); 
		return;
	}
	KillTimer(1);
	CDialog::OnTimer(nIDEvent);
}

void CBatchMsgSet::OnTestsend() 
{
	// TODO: Add your control notification handler code here

    UpdateData();

	CString str;
    m_comb.GetLBText(m_comb.GetCurSel(),str);

	gMsgManager.Submit(m_LtChanID,1,m_CreID,m_SaveID,0,15,m_ServiceID,m_FeeType,
			m_FeeCode,m_FeeUserType,str,m_TFH,str,m_SendMsg);

	/*gMsgManager.Submit(m_LtChanID,1,m_CreID,m_SaveID,0,15,"88","02",
		"000000",3,m_TestMobil,m_TFH,m_TestMobil,m_SendMsg);*/

	//gMsgManager.Submit(0,1,1,1,0,15,"88","02","000000",3,"","",
	//	m_TestMobil,m_SendMsg);	
}

void CBatchMsgSet::OnChangeMsg() 
{
	UpdateData();
	m_MsgLength = (short)m_SendMsg.GetLength();
	UpdateData(FALSE);			
}

void CBatchMsgSet::OnSelchangeCode() 
{
	// TODO: Add your control notification handler code here
	//m_ComBox.GetCurSel();
	m_ComBox.GetLBText(m_ComBox.GetCurSel(),m_Code);
	//AfxMessageBox(m_Code);
	OnSetrs();	



}

void CBatchMsgSet::OnPause() 
{
	// TODO: Add your control notification handler code here
	static BOOL PauseID;
	PauseID=!PauseID;
	if(PauseID)
	{
		m_Pause.SetWindowText("继续");
		KillTimer(1);
	}
	else
	{
		m_Pause.SetWindowText("暂停");
		UpdateData();
		if (m_Speed==0) m_Speed=1;
		if(BatchRS.IsOpen())SetTimer(1,1000.0/m_Speed,NULL);
	}
}

void CBatchMsgSet::OnOK() 
{
	// TODO: Add extra validation here
	
	CDialog::OnOK();
}

⌨️ 快捷键说明

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