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

📄 vcdemo3_1_5dlg.cpp

📁 这个是vc方式下开发的短信发送例子,根据这个例子可以开发出自己要求的短信程序
💻 CPP
📖 第 1 页 / 共 2 页
字号:
								m_strWsIP.AllocSysString(),
								m_nWsPort,
								m_strScript.AllocSysString(),
								&nResult);
	
	if(FAILED(hr)) // 调用SetServerInfo函数失败
	{
		m_strOutMsg = "调用SetServerInfo函数失败";
		UpdateData(FALSE);

		return;
	}
	
	if(nResult != 0) // 设置网关信息SetServerInfo失败
	{
		m_strOutMsg.Format("设置网关信息SetServerInfo失败: %ld", nResult);
		UpdateData(FALSE);

		return;
	}

	m_strOutMsg = "设置网关信息SetServerInfo成功";
	UpdateData(FALSE);
}

//
// 获取代理服务器参数
//
void CVCDEMO3_1_5Dlg::OnGetproxy() 
{
	UpdateData();

	HRESULT hr;
	BSTR strUseproxy, strProxyType, strProxyIP, strProxyUser, strProxyPass;
	long nResult;

	hr = m_pIMsg->GetProxyInfo(	&strUseproxy, 
								&strProxyType, 
								&strProxyIP, 
								&m_nProxyPort,
								&strProxyUser, 
								&strProxyPass, 
								&nResult);
	
	if(FAILED(hr)) // 调用GetProxyInfo函数失败
	{
		m_strOutMsg = "调用GetProxyInfo函数失败";
		UpdateData(FALSE);

		return;
	}
	
	if(nResult != 0) // 获取代理服务器参数GetProxyInfo失败
	{
		m_strOutMsg.Format("获取代理服务器参数GetProxyInfo失败: %ld", nResult);
		UpdateData(FALSE);

		return;
	}

	if(CString(strUseproxy).CompareNoCase("off") == 0) // 没有使用代理服务器
	{
		m_nProxyType = 0;
		m_strProxyIP = "";
		m_nProxyPort = 0;
		m_strProxyUser = "";
		m_strProxyPass = "";
	}
	else // 使用代理服务器
	{
		if(CString(strProxyType).CompareNoCase("http") == 0) // 使用HTTP代理服务器
		{
			m_nProxyType = 1;
		}
		else if(CString(strProxyType).CompareNoCase("socks4") == 0) // 使用SOCKS4代理服务器
		{
			m_nProxyType = 2;
		}
		else if(CString(strProxyType).CompareNoCase("socks5") == 0) // 使用SOCKS5代理服务器
		{
			m_nProxyType = 3;
		}
		else 
		{
			m_nProxyType = 0;
			m_strOutMsg = "配置文件中的代理服务器参数设置有误";
			UpdateData(FALSE);

			return;
		}

		m_strProxyIP = strProxyIP;
		m_strProxyUser = strProxyUser;
		m_strProxyPass = strProxyPass;		
	}

	m_strOutMsg = "获取代理服务器参数GetProxyInfo成功";
	UpdateData(FALSE);
}

//
// 设置代理服务器参数
//
void CVCDEMO3_1_5Dlg::OnSetproxy() 
{
	UpdateData();

	HRESULT hr;
	long nResult;
	CString strUseproxy, strProxyType;

	switch(m_nProxyType)
	{
	case 0:
		strUseproxy = "off";
		strProxyType = "";
		break;
	case 1:
		strUseproxy = "on";
		strProxyType = "http";
		break;
	case 2:
		strUseproxy = "on";
		strProxyType = "socks4";
		break;
	case 3:
		strUseproxy = "on";
		strProxyType = "socks5";
		break;
	default:
		strUseproxy = "off";
		strProxyType = "";
	}

	hr = m_pIMsg->SetProxyInfo( strUseproxy.AllocSysString(),
								strProxyType.AllocSysString(),
								m_strProxyIP.AllocSysString(),
								m_nProxyPort,
								m_strProxyUser.AllocSysString(),
								m_strProxyPass.AllocSysString(),
								&nResult);

	if(FAILED(hr)) // 设置SetProxyInfo函数失败
	{
		m_strOutMsg = "调用SetProxyInfo函数失败";
		UpdateData(FALSE);

		return;
	}
	
	if(nResult != 0) // 设置代理服务器参数SetProxyInfo失败
	{
		m_strOutMsg.Format("设置代理服务器参数SetProxyInfo失败: %ld", nResult);
		UpdateData(FALSE);

		return;
	}

	m_strOutMsg = "设置代理服务器参数SetProxyInfo成功";
	UpdateData(FALSE);
}

//
// 修改帐号密码
//
void CVCDEMO3_1_5Dlg::OnMdfpassword() 
{
	UpdateData();
	
	HRESULT hr;
	long nResult;

	hr = m_pIMsg->ModifyPassword(m_strAccount.AllocSysString(),
								m_strPassword.AllocSysString(),
								m_strNewPass.AllocSysString(),
								&nResult);
	
	if(FAILED(hr)) // 调用ModifyPassword函数失败
	{
		m_strOutMsg = "调用ModifyPassword函数失败";
		UpdateData(FALSE);

		return;
	}
	
	if(nResult != 0) // 修改帐号密码ModifyPassword失败
	{
		m_strOutMsg.Format("修改帐号密码ModifyPassword失败: %ld", nResult);
		UpdateData(FALSE);

		return;
	}

	m_strOutMsg = "修改帐号密码ModifyPassword成功";
	m_strPassword = m_strNewPass;
	m_pIMsg->SetServerInfo(m_strAccount.AllocSysString(),
								m_strPassword.AllocSysString(),
								m_strGatewayIP.AllocSysString(),
								m_nGatewayPort,
								m_strWsIP.AllocSysString(),
								m_nWsPort,
								m_strScript.AllocSysString(),
								&nResult);
	UpdateData(FALSE);	
}

//
// 获取帐号余额
//
void CVCDEMO3_1_5Dlg::OnGetrmfee() 
{
	UpdateData();
	
	HRESULT hr;
	long nResult;
	BSTR strRmFee;

	hr = m_pIMsg->GetRemainFee(m_strAccount.AllocSysString(),
							m_strPassword.AllocSysString(),
							&strRmFee,
							&nResult);
	
	if(FAILED(hr)) // 调用GetRemainFee函数失败
	{
		m_strOutMsg = "调用GetRemainFee函数失败";
		UpdateData(FALSE);

		return;
	}
	
	if(nResult != 0) // 获取帐号余额GetRemainFee失败
	{
		m_strOutMsg.Format("获取帐号余额GetRemainFee失败: %ld", nResult);
		UpdateData(FALSE);

		return;
	}

	m_strRmFee = strRmFee;
	m_strOutMsg = "获取帐号余额GetRemainFee成功";
	UpdateData(FALSE);		
}

//
// 获取帐号配置信息
//
void CVCDEMO3_1_5Dlg::OnGetconfig() 
{
	UpdateData();
	
	HRESULT hr;
	long nResult;
	BSTR strConfigInfo;

	hr = m_pIMsg->GetConfigInfo(m_strAccount.AllocSysString(),
								m_strPassword.AllocSysString(),
								&strConfigInfo,
								&nResult);
	
	if(FAILED(hr)) // 调用GetConfigInfo函数失败
	{
		m_strOutMsg = "调用GetConfigInfo函数失败";
		UpdateData(FALSE);

		return;
	}
	
	if(nResult != 0) // 获取帐号配置信息GetConfigInfo失败
	{
		m_strOutMsg.Format("获取帐号配置信息GetConfigInfo失败: %ld", nResult);
		UpdateData(FALSE);

		return;
	}

	m_strOutMsg.Format("获取帐号配置信息GetConfigInfo成功\r\n%s", CString(strConfigInfo));
	UpdateData(FALSE);	
}

//
// 获取回复信息
//
void CVCDEMO3_1_5Dlg::OnGetmomsg() 
{
	UpdateData();
	
	HRESULT hr;
	long nResult;
	BSTR strMoMsg;

	hr = m_pIMsg->GetMoMessage(m_strAccount.AllocSysString(),
							m_strPassword.AllocSysString(),
							&strMoMsg,
							&nResult);
	
	if(FAILED(hr)) // 调用GetMoMessage函数失败
	{
		m_strOutMsg = "调用GetMoMessage函数失败";
		UpdateData(FALSE);

		return;
	}
	
	if(nResult != 0) // 获取回复信息GetMoMessage失败
	{
		m_strOutMsg.Format("获取回复信息GetMoMessage失败: %ld", nResult);
		UpdateData(FALSE);

		return;
	}

	if(CString(strMoMsg).IsEmpty())
		m_strOutMsg = "获取回复信息GetMoMessage成功\r\n没有新回复信息";
	else
		m_strOutMsg.Format("获取回复信息GetMoMessage成功\r\n%s", CString(strMoMsg));
	UpdateData(FALSE);	
}

//
// 发送信息
//
void CVCDEMO3_1_5Dlg::OnPost() 
{
	UpdateData();
	
	HRESULT hr;
	long nResult;

	hr = m_pIMsg->Post(m_strAccount.AllocSysString(),
					m_strPassword.AllocSysString(),
					m_strMobile.AllocSysString(),
					m_strContent.AllocSysString(),
					0,
					L"",
					&nResult);
	
	if(FAILED(hr)) // 调用Post函数失败
	{
		m_strOutMsg = "调用Post函数失败";
		UpdateData(FALSE);

		return;
	}
	
	if(nResult != 0) // 发送信息Post失败
	{
		m_strOutMsg.Format("发送信息Post失败: %ld", nResult);
		UpdateData(FALSE);

		return;
	}

	m_strOutMsg = "发送信息Post成功";
	UpdateData(FALSE);
}

⌨️ 快捷键说明

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