📄 mainwnd.cpp
字号:
// MainWnd.cpp: implementation of the CMainWnd class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "MainWnd.h"
#include <Tpcshell.h>
#include <winuserm.h>
#include "EditSmsDlg.h"
#define TAPI_API_LOW_VERSION 0x00020000
#define TAPI_API_HIGH_VERSION 0x00020000
#define EXT_API_LOW_VERSION 0x00010000
#define EXT_API_HIGH_VERSION 0x00010000
//BOOL CALLBACK EditDlgProc( HWND hDlg,UINT uMsg, WPARAM wParam, LPARAM lParam) ;
BOOL bCloseFlag = TRUE;
CStringList m_slCodeList;//指令集
int ItemEntry[8]={0};
int ItemCity[9]={0};
extern int m_layer,m_item,m_index,m_index1,m_index0,m_index2,m_index3,m_index4,m_index5;
extern int m_offset;
extern CEditSMSDlg dlg;
CString MailTo;
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CMainWnd::CMainWnd()
{
/*
CRegKey reg;
TCHAR szKey [512];
long lRet;
TCHAR dVal[MAX_PATH]={0};
unsigned long len=MAX_PATH;
wsprintf ( szKey, _T("ControlPanel\\PhoneNetSelMode"));
//lRet = reg.Create ( HKEY_CURRENT_USER, szKey, REG_NONE, REG_OPTION_NON_VOLATILE,NULL,NULL,NULL);
lRet = reg.Create ( HKEY_CURRENT_USER, szKey, REG_NONE, REG_OPTION_NON_VOLATILE,
KEY_SET_VALUE );
if(reg.QueryValue(dVal,L"ManualNet",&len)==ERROR_SUCCESS)
{
if(wcsicmp(dVal, L"46000")==0) //中国移动
{
MailTo.Format(_T("%d"),8001);
}
if(wcsicmp(dVal, L"46001")==0) //中国联通
{
MailTo.Format(_T("%d"),9866);
}
}else
{
reg.SetValue(L"46000",L"ManualNet");
MailTo.Format(_T("%d"),8001);
}
*/
ItemEntry[0]=9;
ItemEntry[1]=8;
ItemEntry[2]=4;
ItemEntry[3]=6;
ItemEntry[4]=4;
ItemEntry[5]=3;
ItemEntry[6]=5;
ItemEntry[7]=0;
ItemCity[0]=5;
ItemCity[1]=10;
ItemCity[2]=9;
ItemCity[3]=5;
ItemCity[4]=5;
ItemCity[5]=6;
ItemCity[6]=1;
ItemCity[7]=1;
ItemCity[8]=0;
m_slCodeList.RemoveAll();
}
CMainWnd::~CMainWnd()
{
m_slCodeList.RemoveAll();
}
LRESULT CMainWnd::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
// Create the Menu Bar.
SHMENUBARINFO mbi;
memset(&mbi, 0, sizeof(mbi));
mbi.cbSize = sizeof(mbi);
mbi.hwndParent = m_hWnd;
mbi.nToolBarId = IDR_MAINMENU;
mbi.hInstRes = _Module.GetResourceInstance();
if(!::SHCreateMenuBar(&mbi))
{
ATLTRACE(_T("Failed to create menu bar.\n"));
return -1;
}
m_hMenuBar = mbi.hwndMB;
SendMessage(m_hMenuBar, SHCMBM_OVERRIDEKEY, VK_TBACK,
MAKELPARAM(SHMBOF_NODEFAULT | SHMBOF_NOTIFY, SHMBOF_NODEFAULT | SHMBOF_NOTIFY));
// Line
DWORD dwNumDevs ;
DWORD dwAPIVersion = TAPI_API_HIGH_VERSION ;
LINEINITIALIZEEXPARAMS liep ;
HLINEAPP hLineApp = 0 ;
HLINE hLine = 0 ;
DWORD dwTAPILineDeviceID ;
const DWORD dwMediaMode = LINEMEDIAMODE_DATAMODEM | LINEMEDIAMODE_INTERACTIVEVOICE;
// set the line init params
liep.dwTotalSize = sizeof(liep) ;
liep.dwOptions = LINEINITIALIZEEXOPTION_USEEVENT ;
lineInitializeEx( &hLineApp , 0 , 0 , NULL , &dwNumDevs , &dwAPIVersion , &liep );
dwTAPILineDeviceID = GetTSPLineDeviceID( hLineApp , dwNumDevs , TAPI_API_LOW_VERSION ,
TAPI_API_HIGH_VERSION , CELLTSP_LINENAME_STRING ) ;
lineOpen( hLineApp , dwTAPILineDeviceID , &hLine , dwAPIVersion , 0 , 0 ,
/*Add*/LINECALLPRIVILEGE_MONITOR + LINECALLPRIVILEGE_OWNER ,
dwMediaMode , 0 );
LINEOPERATOR LineOperator ;
LineOperator.dwIndex = LINEOPERATOR_USEFIRSTAVAILABLEINDEX ;
if ( 0 == lineGetCurrentOperator( hLine , &LineOperator ) ){
if(wcsicmp(LineOperator.lpszNumName , L"46000")==0) //中国移动
{
MailTo.Format(_T("%d"),8001);
}else if(wcsicmp(LineOperator.lpszNumName , L"46001")==0) //中国联通
{
MailTo.Format(_T("%d"),9866);
}
}
SetWindowText(g_sAppName);
GetText();
RECT rc;
GetClientRect(&rc);
m_list.Create(m_hWnd, rc);
m_list.LoadNameList(0,0);
m_list.ScrollToIndex(0);
m_brEdit.CreateSolidBrush(RGB(128,255,255));
/*
CEdit edit;
CRect rcEdit(0,-20,80,0);
edit.Create(m_hWnd,rcEdit,L"",WS_CHILD | WS_VISIBLE | ES_AUTOHSCROLL,0,IDC_EDITFIND,0);
m_FindEdit.SubclassWindow(edit);
m_FindEdit.SetFocus();
m_FindEdit.m_hWndListCtrl = m_list.m_hWnd;
// m_list.m_pEditFind = &m_FindEdit;
LOGFONT lf;
memset(&lf,0,sizeof(LOGFONT));
lf.lfHeight = 16;
lf.lfWeight = FW_BOLD;
m_ftEdit.CreateFontIndirect(&lf);
m_FindEdit.SetFont(m_ftEdit);
*/
return 0;
}
LRESULT CMainWnd::OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
CPaintDC dc(m_hWnd);
CRect rect;
GetClientRect(rect);
dc.DrawText(_T("www.smartphonedn.com"),
-1, rect, DT_CENTER|DT_VCENTER);
return 0;
}
LRESULT CMainWnd::OnAction(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
{
int tempnum=0;
int curnum=0;
int j;
if(m_layer<4){
int nSelIndex = m_list.GetNextItem(-1,LVNI_SELECTED);
if(nSelIndex<0)
return 0;
switch(m_layer)
{
case 0:
if(nSelIndex==7)
{
m_list.SendSMS(183);
return 0;
}else{
m_index=nSelIndex;
m_item=nSelIndex;
m_layer++;
m_list.DeleteAllItems();
m_list.LoadNameList(m_layer,m_item);
return 0;
}
break;
case 1:
if(m_index==0){
m_index1=nSelIndex;
}else if(m_index==1){
m_index0=nSelIndex;
}else if(m_index==3){
m_index2=nSelIndex;
}
m_index3=nSelIndex;
m_item=nSelIndex;
m_layer++;
m_list.DeleteAllItems();
m_list.LoadNameList(m_layer,m_item);
break;
case 2:
switch(m_index){
case 0:
if(m_index1<6)
{
m_index4=nSelIndex;
m_item=nSelIndex;
m_layer++;
m_list.DeleteAllItems();
m_list.LoadNameList(m_layer,m_item);
}
if(m_index1==8){
m_list.SendSMS(83);
}else if(m_index1==7){
dlg.title.LoadString(IDS_THLAYITEM42+m_offset);
if(dlg.DoModal()==IDOK)
{
m_list.SendSMS(82);
}
}else if(m_index1==6){
dlg.title.LoadString(IDS_THLAYITEM41+m_offset);
if(dlg.DoModal()==IDOK)
{
m_list.SendSMS(81);
}
}
break;
case 1:
if(m_index0<5)
{
curnum+=m_index0;
curnum*=3;
curnum+=84;
m_list.SendSMS(curnum+nSelIndex);
}else if(m_index0>5){
curnum+=m_index0-6;
curnum*=3;
curnum+=124;
m_list.SendSMS(curnum+nSelIndex);
}else if(m_index0==5&&nSelIndex==12)
{
m_list.SendSMS(123);
}else{
m_index5=nSelIndex;
m_item=nSelIndex;
m_layer++;
m_list.DeleteAllItems();
m_list.LoadNameList(m_layer,m_item);
}
break;
case 2:
curnum+=m_item;
curnum*=3;
curnum+=130;
m_list.SendSMS(curnum+nSelIndex);
break;
case 3:
if(m_index2<2){
curnum+=m_item;
curnum*=2;
curnum+=146;
m_list.SendSMS(curnum+nSelIndex);
}else if(m_index2<5){
if(nSelIndex==0){
dlg.title.LoadString(IDS_LASTGPTM+m_offset);
if(m_index2=2){
if(dlg.DoModal()==IDOK)
{
m_list.SendSMS(146);
}
}else if(m_index2=3){
if(dlg.DoModal()==IDOK)
{
m_list.SendSMS(148);
}
}else
if(dlg.DoModal()==IDOK)
{
m_list.SendSMS(150);
}
}else{
curnum+=m_item;
curnum*=2;
curnum+=146;
m_list.SendSMS(152+1);
}
m_list.SendSMS(curnum+nSelIndex);
}else{
m_list.SendSMS(152+nSelIndex);
}
break;
case 4:
curnum+=m_item;
curnum*=2;
curnum+=155;
m_list.SendSMS(curnum+nSelIndex);
break;
case 5:
curnum+=m_item;
curnum*=2;
curnum+=163;
m_list.SendSMS(curnum+nSelIndex);
break;
case 6:
if(m_item==4){
curnum=181;
m_list.SendSMS(curnum+nSelIndex);
}else{
curnum+=m_item;
curnum*=3;
curnum+=169;
m_list.SendSMS(curnum+nSelIndex);
}
break;
}
return 0;
break;
case 3:
if(m_index==0){
for(j=0;j<m_index1;j++)
{
curnum +=ItemCity[j];
}
curnum+=m_item;
curnum*=2;
m_list.SendSMS(curnum+nSelIndex);
}else if(m_index==1&&m_index0==5)
curnum+=m_item;
curnum*=2;
curnum+=99;
m_list.SendSMS(curnum+nSelIndex);
return 0;
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -