// lyfzSMSAppDlg.cpp : 实现文件 // #include "stdafx.h" #include "lyfzSMSApp.h" #include "lyfzSMSAppDlg.h" #include "DataManager.h" #include "PhoneNumImport.h" #include "AddContacts.h" #include "DataManager.h" #include "SendMsgLogDlg.h" #include "ExcelForODBC.h" #ifdef _DEBUG #define new DEBUG_NEW #endif #if USE_TRAYICON #define WM_MY_TRAY_NOTIFICATION WM_USER + 108 const UINT WM_TASKBARCREATED = ::RegisterWindowMessage(_T("lyfzSMSApp")); #endif // 用于应用程序“关于”菜单项的 CAboutDlg 对话框 class CAboutDlg : public CDialog { public: CAboutDlg(); // 对话框数据 enum { IDD = IDD_ABOUTBOX }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 // 实现 protected: DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) { } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) END_MESSAGE_MAP() // ClyfzSMSAppDlg 对话框 #if USE_TRAYICON ClyfzSMSAppDlg::ClyfzSMSAppDlg(CWnd* pParent /*=NULL*/) : CDialog(ClyfzSMSAppDlg::IDD, pParent), m_trayIcon(IDR_MAINFRAME) , m_nCountNum(0) , m_strPhoneNums(_T("")) , m_strAccount(_T("")) , m_strPassWord(_T("")) , m_strContent(_T("")) , m_strTextCount(_T("")) #else ClyfzSMSAppDlg::ClyfzSMSAppDlg(CWnd* pParent /*=NULL*/) : CDialog(ClyfzSMSAppDlg::IDD, pParent) , m_nCountNum(0) , m_strPhoneNums(_T("")) , m_strAccount(_T("")) , m_strPassWord(_T("")) , m_strContent(_T("")) , m_strTextCount(_T("")) #endif { m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); m_bAutoRuning = AfxGetApp()->GetProfileInt(_T("lyfzSMSApp"), _T("Autoruning"), 0); #if USE_TRAYICON m_isNotify = TRUE; m_bNoticeTray = TRUE; #endif } void ClyfzSMSAppDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_PHONECOUNT, m_nCountNum); DDX_Control(pDX, IDC_PHONENUMBERS, m_NumEditCtrl); DDX_Control(pDX, IDC_USERINFOLIST, m_PhoneBook); DDX_Text(pDX, IDC_PHONENUMBERS, m_strPhoneNums); DDX_Text(pDX, IDC_EDIT_Account, m_strAccount); DDX_Text(pDX, IDC_EDIT_PWD, m_strPassWord); DDX_Text(pDX, IDC_EDIT_Contant, m_strContent); DDV_MaxChars(pDX, m_strContent, 390); } BEGIN_MESSAGE_MAP(ClyfzSMSAppDlg, CDialog) ON_WM_SYSCOMMAND() ON_WM_TIMER() ON_WM_PAINT() ON_WM_DESTROY() ON_WM_CLOSE() ON_WM_QUERYDRAGICON() #if USE_TRAYICON ON_MESSAGE(WM_MY_TRAY_NOTIFICATION, ClyfzSMSAppDlg::OnTrayNotification) ON_REGISTERED_MESSAGE(WM_TASKBARCREATED, ClyfzSMSAppDlg::OnTaskBarCreated) #endif ON_COMMAND(Menu_AutoRun, &ClyfzSMSAppDlg::OnAutorun) ON_COMMAND(Menu_Exit, &ClyfzSMSAppDlg::OnExit) //}}AFX_MSG_MAP ON_BN_CLICKED(IDC_ADDUSER_BTN, &ClyfzSMSAppDlg::OnBnClickedAdduserBtn) ON_BN_CLICKED(IDC_DELUSER_BTN, &ClyfzSMSAppDlg::OnBnClickedDeluserBtn) ON_BN_CLICKED(IDC_EXCELIMPORT_BTN, &ClyfzSMSAppDlg::OnBnClickedExcelimportBtn) ON_BN_CLICKED(IDC_PHONEIMPORT_BTN, &ClyfzSMSAppDlg::OnBnClickedPhoneimportBtn) ON_BN_CLICKED(IDC_SENDMESSAGE_BTN, &ClyfzSMSAppDlg::OnBnClickedSendmessageBtn) ON_BN_CLICKED(IDC_MESSAGELOG_BTN, &ClyfzSMSAppDlg::OnBnClickedMessagelogBtn) ON_NOTIFY(NM_CLICK, IDC_USERINFOLIST, &ClyfzSMSAppDlg::OnNMClickUserinfolist) ON_BN_CLICKED(IDC_SAVEPWD_CHECK, &ClyfzSMSAppDlg::OnBnClickedSavepwdCheck) END_MESSAGE_MAP() // ClyfzSMSAppDlg 消息处理程序 BOOL ClyfzSMSAppDlg::OnInitDialog() { //SetWindowPos(&wndNoTopMost, 0, 0, 0, 0, SWP_HIDEWINDOW); //ModifyStyleEx(WS_EX_APPWINDOW, WS_EX_TOOLWINDOW); CDialog::OnInitDialog(); // 将“关于...”菜单项添加到系统菜单中。 // IDM_ABOUTBOX 必须在系统命令范围内。 ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { BOOL bNameValid; CString strAboutMenu; bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX); ASSERT(bNameValid); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动 // 执行此操作 SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALSE); // 设置小图标 // TODO: 在此添加额外的初始化代码 //初始化托盘 InitTrayIcon(); //登录帐号密码 UpdateData(); m_strAccount = g_szLoginAccount; m_strPassWord = g_szLoginPWD; g_IsSavePwd = g_IsSavePwd; ((CButton*)GetDlgItem(IDC_SAVEPWD_CHECK))->SetCheck(g_IsSavePwd); //初始化电话本 m_PhoneBook.InsertColumn(0,_T("姓名")); m_PhoneBook.SetColumnWidth(0,58); m_PhoneBook.InsertColumn(1,_T("手机号码")); m_PhoneBook.SetColumnWidth(1,100); m_PhoneBook.SetExtendedStyle(m_PhoneBook.GetExtendedStyle() | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT); //打开数据库 CString strError = _T(""); if(CDataManager::GetInstance()->OpenDataBase(g_szConnectAccess, _T(""), _T(""), strError) == S_FALSE) MessageBox(strError); //读取电话本 CArray arr; std::vector vFields; vFields.push_back(_T("name")); vFields.push_back(_T("phone")); CString strTableName = _T("contact"); if(CDataManager::GetInstance()->Select(arr, strTableName, vFields) == -1) { MessageBox(_T("读取电话本失败")); return FALSE; } for(int i=0; imessage == WM_KEYDOWN) { CWnd* pWnd = GetFocus(); if(!pWnd) return CDialog::PreTranslateMessage(pMsg); if(pWnd == GetDlgItem(IDC_USERINFOLIST) && pMsg->hwnd == m_PhoneBook.m_hWnd) { SHORT ret = GetKeyState(VK_CONTROL); if(ret) { if(pMsg->wParam == 'a' || pMsg->wParam == 'A') { //ctrl+a/A全选 int nCount = m_PhoneBook.GetItemCount(); if(nCount > 0) { //ClearLinkMan(); m_strPhoneNums = _T(""); for(int i = 0; istrName = m_PhoneBook.GetItemText(i, 0); //p->strNum = m_PhoneBook.GetItemText(i, 1); m_strPhoneNums += m_PhoneBook.GetItemText(i, 1); if(i < nCount-1) m_strPhoneNums += _T(","); // m_vLinkManInfo.push_back(p); } m_nCountNum = nCount; m_NumEditCtrl.LineScroll(m_NumEditCtrl.GetLineCount()); UpdateData(FALSE); } } } } else if(pWnd == GetDlgItem(IDC_EDIT_Contant) && pMsg->hwnd == GetDlgItem(IDC_EDIT_Contant)->m_hWnd) { //计算短信条数 UpdateData(); int nCount = m_strContent.GetLength()/70; if((nCount*70) < m_strContent.GetLength()) nCount += 1; m_strTextCount.Format(_T("(现%d字,共%d条短信)"), m_strContent.GetLength(), nCount); GetDlgItem(IDC_STATIC_Count)->SetWindowText(m_strTextCount); UpdateData(FALSE); } } return CDialog::PreTranslateMessage(pMsg); } // 如果向对话框添加最小化按钮,则需要下面的代码 // 来绘制该图标。对于使用文档/视图模型的 MFC 应用程序, // 这将由框架自动完成。 void ClyfzSMSAppDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // 用于绘制的设备上下文 SendMessage(WM_ICONERASEBKGND, reinterpret_cast(dc.GetSafeHdc()), 0); // 使图标在工作区矩形中居中 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; // 绘制图标 dc.DrawIcon(x, y, m_hIcon); } else { CDialog::OnPaint(); } } //当用户拖动最小化窗口时系统调用此函数取得光标 //显示。 HCURSOR ClyfzSMSAppDlg::OnQueryDragIcon() { return static_cast(m_hIcon); } #if USE_TRAYICON void ClyfzSMSAppDlg::InitTrayIcon() { m_trayIcon.SetNotificationWnd(this, WM_MY_TRAY_NOTIFICATION); m_trayIcon.SetIcon(IDR_MAINFRAME, _T("短信处理程序")); m_trayIcon.SetIconInfos(IDI_ITRAY, IDI_ITRAY, IDI_ITRAY); m_trayIcon.SetDefaultTip(_T("短信处理程序")); } LRESULT ClyfzSMSAppDlg::OnTrayNotification(WPARAM wp, LPARAM lp) { if (m_isNotify) { static LPCSTR MouseMessages[] = { "WM_MOUSEMOVE", "WM_LBUTTONDOWN", "WM_LBUTTONUP", "WM_LBUTTONDBLCLK", "WM_RBUTTONDOWN", "WM_RBUTTONUP", "WM_RBUTTONDBLCLK", "WM_MBUTTONDOWN", "WM_MBUTTONUP", "WM_MBUTTONDBLCLK" }; } if (wp != IDR_MAINFRAME) return m_trayIcon.OnTrayNotification(wp, lp); switch (lp) { case WM_RBUTTONUP: TrayRight(); break; case WM_LBUTTONUP: break; case WM_LBUTTONDBLCLK: TaskNotifyIcon(); break; default: break; } return 0; } LRESULT ClyfzSMSAppDlg::OnTaskBarCreated(WPARAM wp, LPARAM lp) { Shell_NotifyIcon(NIM_ADD, &m_trayIcon.m_nid); return 1; } // 托盘的工作内容; void ClyfzSMSAppDlg::TaskNotifyIcon() { if (!m_bNoticeTray) { m_trayIcon.SetIcon(IDR_MAINFRAME, _T("短信处理程序")); ShowWindow(SW_SHOWNORMAL); m_bNoticeTray = TRUE; } else { m_trayIcon.SetIcon(IDR_MAINFRAME, _T("短信处理程序")); ShowWindow(SW_HIDE); m_bNoticeTray = FALSE; } } void ClyfzSMSAppDlg::TrayRight() { CMenu menu; if (!menu.LoadMenu(IDR_MENU1)) return; CMenu* pSubMenu = menu.GetSubMenu(0); if (!pSubMenu) return; if (m_bAutoRuning) pSubMenu->CheckMenuItem(Menu_AutoRun, MF_BYCOMMAND | MF_CHECKED); else pSubMenu->CheckMenuItem(Menu_AutoRun, MF_BYCOMMAND | MF_UNCHECKED); CPoint point; GetCursorPos(&point); ::SetForegroundWindow(m_hWnd); pSubMenu->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this); } #endif void ClyfzSMSAppDlg::OnAutorun() { m_bAutoRuning = !m_bAutoRuning; AfxGetApp()->WriteProfileInt(_T("lyfzSMSApp"), _T("Autoruning"), m_bAutoRuning); //BYTE szData[1024] = { 0 }; //::GetModuleFileNameA(NULL, (LPSTR)szData, sizeof(szData)); AddAutoSysRun((LPBYTE)g_szModuleFileName,_tcslen(g_szModuleFileName)*sizeof(TCHAR), _T("lyfzSMSApp"), m_bAutoRuning); } void ClyfzSMSAppDlg::OnExit() { UpdateData(); if(g_IsSavePwd) SavePassWord(g_IsSavePwd, m_strAccount, m_strPassWord); else SavePassWord(g_IsSavePwd, m_strAccount, _T("")); CDialog::OnOK(); } void ClyfzSMSAppDlg::OnTimer(UINT_PTR nIDEvent) { if(nIDEvent == 1) { //查找第一行数据列:account,phones,content,timestamp,msgcount,log,status,Sid,autoid(自动编号) CArray arr; std::vector vFields; vFields.push_back(_T("account")); vFields.push_back(_T("phones")); vFields.push_back(_T("content")); vFields.push_back(_T("timestamp")); vFields.push_back(_T("msgcount")); vFields.push_back(_T("log")); vFields.push_back(_T("status")); vFields.push_back(_T("Sid")); vFields.push_back(_T("autoid")); CString strTableName = _T("sendreg"); CString strfilter = _T("Sid<>'0'"); if(CDataManager::GetInstance()->Select(arr, strTableName, vFields, strfilter) == -1) { MessageBox(_T("查询记录失败")); return; } if(arr.GetSize() == 0) return; for(int i=0; iSetWindowText(m_strTextCount); UpdateData(FALSE); */ } } void ClyfzSMSAppDlg::OnDestroy() { //删除缓存里的所有联系人信息 ClearLinkMan(); CDialog::OnDestroy(); } void ClyfzSMSAppDlg::OnClose() { ShowWindow(SW_HIDE); #if USE_TRAYICON m_bNoticeTray = FALSE; #endif } //************************************// // [函数]:MultiLineShow // [描述]:自动换行 // [参数]: // buf 要处理的字符串 // [返回]:1成功 //************************************// void ClyfzSMSAppDlg::AddElementAtList(CArray& arr) { int nCount = m_PhoneBook.GetItemCount(); int nIdx = nCount; for(int i=0; iInsert(strTableName, strValues); ++nIdx; } UpdateData(FALSE); } //************************************// // [函数]:MultiLineShow // [描述]:自动换行 // [参数]: // buf 要处理的字符串 // [返回]:1成功 //************************************// int ClyfzSMSAppDlg::AutoChangeLine(char* buf) { int ret = 1; return ret; } //************************************// // [函数]:OnBnClickedAdduserBtn // [描述]:添加用户手机号 // [参数]: // [返回]: //************************************// void ClyfzSMSAppDlg::OnBnClickedAdduserBtn() { // TODO: 在此添加控件通知处理程序代码 CAddContacts dlg; if(dlg.DoModal() == IDCANCEL) return; UpdateData(); int nCount = m_PhoneBook.GetItemCount(); int nRow = m_PhoneBook.InsertItem(nCount, dlg.m_strName); m_PhoneBook.SetItemText(nRow, 1, dlg.m_strPhoneNum); //插入列 //添加数据到表contact CString strTableName = _T("contact"); CString strValues = _T(""); strValues = _T("'") + dlg.m_strName + _T("','") + dlg.m_strPhoneNum + _T("'"); CDataManager::GetInstance()->Insert(strTableName, strValues); UpdateData(FALSE); } //************************************// // [函数]:OnBnClickedDeluserBtn // [描述]:删除电话本里的号码 // [参数]: // [返回]: //************************************// void ClyfzSMSAppDlg::OnBnClickedDeluserBtn() { // TODO: 在此添加控件通知处理程序代码 if(MessageBox(_T("确定要删除选中的联系人吗?"), _T("提示"), MB_YESNO | MB_ICONWARNING) == IDNO) { ClearLinkMan(); return; } //获取选中项数据 int nIdx = 0; CString strnames(_T("")), strphones(_T("")); int nCount = m_PhoneBook.GetItemCount(); for(int i=0; iDelete(strTableName, strFilter) != -1) { int nSize = m_PhoneBook.GetItemCount(); for(int i = nSize-1; i>=0; i--) { if( m_PhoneBook.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED) m_PhoneBook.DeleteItem(i); } } UpdateData(FALSE); } //************************************// // [函数]:OnBnClickedExcelimportBtn // [描述]:excel表导入 // [参数]: // [返回]: //************************************// void ClyfzSMSAppDlg::OnBnClickedExcelimportBtn() { // TODO: 在此添加控件通知处理程序代码 /* Excel接口 导入类 头文件 说明 _Application CApplicaton Application.h Excel应用程序。 Workbooks CWorkbooks Workbooks.h 工作簿的容器,里面包括了Excel应用程序打开的所有工作簿。 _Workbook CWorkbook Workbook.h 单个工作簿。 Worksheets CWorksheets Worksheets.h 单个工作簿中的Sheet表格的容器,包括该工作簿中的所有Sheet。 _Worksheet CWorksheet Worksheet.h 单个Sheet表格。 Range CRange Range.h 一定数量的单元格,可对单元格进行单个或多个单元格进行操作。 */ CString strFindFile = _T(""); LPCTSTR lpszFile = strFindFile.GetBuffer(); LPCTSTR lpszFilter = _T("(Excel*.xls)|*.xls||"); DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_ALLOWMULTISELECT | OFN_ENABLESIZING; CFileDialog dlg(TRUE, _T("default Files (*xls)"), NULL, dwFlags, lpszFilter, NULL); dlg.m_ofn.lpstrTitle = _T("请加载相关电话本文件"); // 最多可以打开20个文件 dlg.m_ofn.nMaxFile = 20 * MAX_PATH; dlg.m_ofn.lpstrFile = new TCHAR[dlg.m_ofn.nMaxFile]; ZeroMemory(dlg.m_ofn.lpstrFile, sizeof(TCHAR) * dlg.m_ofn.nMaxFile); // 显示文件对话框,获得文件名集合 int retval = dlg.DoModal(); if(retval==IDCANCEL) { delete [] dlg.m_ofn.lpstrFile; dlg.m_ofn.lpstrFile = NULL; return; } POSITION pos_file; pos_file = dlg.GetStartPosition(); CArray ary_filename; while(pos_file != NULL) ary_filename.Add(dlg.GetNextPathName(pos_file)); int nFileCount = ary_filename.GetSize(); ExcelForODBC excelio; //根据扩展名读取相关文件 for(int i=0; i arr; CString strSql = _T("select * from [sheet1$]"); DWORD dwListCount = m_PhoneBook.GetItemCount(); excelio.ReadFromExcel(ary_filename.GetAt(i), strSql, arr); if(arr.GetSize() > 0) { AddElementAtList(arr); str_ext.Format(_T("文件:%s 导入成功..."), ary_filename.GetAt(i).GetBuffer()); MessageBox(str_ext); } } delete [] dlg.m_ofn.lpstrFile; dlg.m_ofn.lpstrFile = NULL; } //************************************// // [函数]:OnBnClickedExcelimportBtn // [描述]:手机导入 // [参数]: // [返回]: //************************************// void ClyfzSMSAppDlg::OnBnClickedPhoneimportBtn() { // TODO: 在此添加控件通知处理程序代码 CPhoneNumImport dlg; dlg.SetTelNumbers(m_strPhoneNums); if (dlg.DoModal() == IDCANCEL) { return; } m_nCountNum = dlg.GetPhones()->GetSize(); m_strPhoneNums = dlg.GetDifferTelNumbers(); UpdateData(FALSE); } //************************************// // [函数]:OnBnClickedSendmessageBtn // [描述]:发送短信 // [参数]: // [返回]: //************************************// void ClyfzSMSAppDlg::OnBnClickedSendmessageBtn() { // TODO: 在此添加控件通知处理程序代码 UpdateData(); if(m_strAccount == _T("")) { MessageBox(_T("请输入登录的帐户")); return; } if(!CheckNumFormat(m_strAccount)) { MessageBox(_T("帐号只能是数字")); return; } if(m_strPassWord == _T("")) { MessageBox(_T("请输入密码")); return; } if(m_strContent == _T("")) { MessageBox(_T("还没有编辑信息")); return; } if(m_strPhoneNums == _T("")) { MessageBox(_T("请编辑要发送的号码")); return; } //添加新记录 列名:account,phones,content,timestamp,msgcount,log,status,Sid,autoid(自动编号) CString strTableName = _T("sendreg"); int nCurrSendCount = 0; CString strfiles = _T("account,phones,content,[timestamp],msgcount,log,status,Sid"); CString strStampTime = CTime::GetCurrentTime().Format(_T("%Y-%m-%d %H:%M:%S")); CString strValues = _T(""); strValues = _T("'") + m_strAccount + _T("','") + m_strPhoneNums + _T("','") + m_strContent + _T("','") + strStampTime + _T("','0','0/1','0','0'"); if(CDataManager::GetInstance()->Insert(strTableName, strValues, strfiles) == -1) { MessageBox(_T("添加记录失败")); return; } //查找第一行数据 CArray arr; std::vector vFields; vFields.push_back(_T("autoid")); CString strstrSelLineCount = _T("top 1"); if(CDataManager::GetInstance()->Select(arr, strTableName, vFields, _T(""), strstrSelLineCount, _T("autoid desc")) == -1) { MessageBox(_T("查询记录失败")); return; } if(arr.GetSize() == 0) return; //发送信息 //获取帐号余额 if(m_SMSHandle.SendSMToSever(g_szSMSServer, g_dwTCPSMSPort, m_strAccount, m_strPassWord, m_strPhoneNums, m_strContent, strStampTime, arr.ElementAt(0).ElementAt(0)) == 0) { MessageBox(_T("发送成功!")); } // QuerAccountInfo tAccountInfo; // m_SMSHandle.GetSMSBlance(g_szSMSServer, g_dwTCPSMSPort,m_strAccount,m_strPassWord,tAccountInfo); /* */ } //************************************// // [函数]:OnBnClickedMessagelogBtn // [描述]:短信记录 // [参数]: // [返回]: //************************************// void ClyfzSMSAppDlg::OnBnClickedMessagelogBtn() { // TODO: 在此添加控件通知处理程序代码 CSendMsgLogDlg dlg; dlg.m_strAccount = m_strAccount; dlg.m_strPassWord = m_strPassWord; dlg.m_pSMSHandle = &m_SMSHandle; if(dlg.DoModal() == IDCANCEL) return; } void ClyfzSMSAppDlg::OnNMClickUserinfolist(NMHDR *pNMHDR, LRESULT *pResult) { LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast(pNMHDR); // TODO: 在此添加控件通知处理程序代码 NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; if(pNMListView->iItem != -1) { //单击行列pNMListView->iItem, pNMListView->iSubItem UpdateData(); m_strPhoneNums = m_PhoneBook.GetItemText(pNMListView->iItem, 1); m_nCountNum = 1; UpdateData(FALSE); } *pResult = 0; } //************************************// // [函数]:DelPhoneNum // [描述]:删除 // [参数]: // nIdx 选中索引 // [返回]:1成功, 0失败 //************************************// int ClyfzSMSAppDlg::DelPhoneNum(const int nIdx) { return 1; } void ClyfzSMSAppDlg::OnBnClickedSavepwdCheck() { // TODO: 在此添加控件通知处理程序代码 UpdateData(); g_IsSavePwd = !g_IsSavePwd; ((CButton*)GetDlgItem(IDC_SAVEPWD_CHECK))->SetCheck(g_IsSavePwd); if(g_IsSavePwd) SavePassWord(g_IsSavePwd, m_strAccount, m_strPassWord); else SavePassWord(g_IsSavePwd, m_strAccount, _T("")); UpdateData(FALSE); } void ClyfzSMSAppDlg::SavePassWord(const int nIsSave, const CString& strAccount, const CString& strPWD) { CString str = _T(""); TCHAR szFile[MAX_PATH + 1] = _T(""); _stprintf_s(szFile, _T("%s\\SMScfg.ini"), g_szModulePath); WritePrivateProfileString(_T("SMSHostInfo"), _T("LoginAccount"), strAccount, szFile); WritePrivateProfileString(_T("SMSHostInfo"), _T("LoginPassWord"), strPWD, szFile); CString strIsSave = _T(""); strIsSave.Format(_T("%d"), nIsSave); WritePrivateProfileString(_T("SMSHostInfo"), _T("IsSavePWD"), strIsSave, szFile); } //************************************// // [函数]:ClearLinkMan // [描述]:清除缓存里的联系人 // [参数]: // [返回]: //************************************// void ClyfzSMSAppDlg::ClearLinkMan() { if(!m_vLinkManInfo.empty()) { std::vector::iterator iter = m_vLinkManInfo.begin(); for(;iter != m_vLinkManInfo.end();) { if((*iter) != NULL) delete (*iter); ++iter; } m_vLinkManInfo.clear(); } }