186 lines
4.6 KiB
C++
186 lines
4.6 KiB
C++
|
// DLG_Dog_Create.cpp : implementation file
|
|||
|
//
|
|||
|
|
|||
|
#include "stdafx.h"
|
|||
|
#include "smsmanager.h"
|
|||
|
#include "DLG_Dog_Create.h"
|
|||
|
|
|||
|
#ifdef _DEBUG
|
|||
|
#define new DEBUG_NEW
|
|||
|
#undef THIS_FILE
|
|||
|
static char THIS_FILE[] = __FILE__;
|
|||
|
#endif
|
|||
|
|
|||
|
/////////////////////////////////////////////////////////////////////////////
|
|||
|
// DLG_Dog_Create dialog
|
|||
|
|
|||
|
|
|||
|
DLG_Dog_Create::DLG_Dog_Create(CWnd* pParent /*=NULL*/)
|
|||
|
: CDialog(DLG_Dog_Create::IDD, pParent)
|
|||
|
{
|
|||
|
//{{AFX_DATA_INIT(DLG_Dog_Create)
|
|||
|
m_strLoginName = _T("");
|
|||
|
//}}AFX_DATA_INIT
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
void DLG_Dog_Create::DoDataExchange(CDataExchange* pDX)
|
|||
|
{
|
|||
|
CDialog::DoDataExchange(pDX);
|
|||
|
//{{AFX_DATA_MAP(DLG_Dog_Create)
|
|||
|
DDX_Control(pDX, IDC_DOG_LOGINNAME, m_E_LoginName);
|
|||
|
DDX_Text(pDX, IDC_DOG_LOGINNAME, m_strLoginName);
|
|||
|
DDV_MaxChars(pDX, m_strLoginName, 15);
|
|||
|
//}}AFX_DATA_MAP
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
BEGIN_MESSAGE_MAP(DLG_Dog_Create, CDialog)
|
|||
|
//{{AFX_MSG_MAP(DLG_Dog_Create)
|
|||
|
ON_BN_CLICKED(IDC_DOG_CREATE, OnDogCreate)
|
|||
|
ON_BN_CLICKED(IDC_DOG_READ, OnDogRead)
|
|||
|
//}}AFX_MSG_MAP
|
|||
|
END_MESSAGE_MAP()
|
|||
|
|
|||
|
/////////////////////////////////////////////////////////////////////////////
|
|||
|
// DLG_Dog_Create message handlers
|
|||
|
|
|||
|
BOOL DLG_Dog_Create::OnInitDialog()
|
|||
|
{
|
|||
|
CDialog::OnInitDialog();
|
|||
|
|
|||
|
// TODO: Add extra initialization here
|
|||
|
|
|||
|
return TRUE; // return TRUE unless you set the focus to a control
|
|||
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|||
|
}
|
|||
|
|
|||
|
void DLG_Dog_Create::OnDogCreate()
|
|||
|
{
|
|||
|
if ( !UpdateData(true) )
|
|||
|
return ;
|
|||
|
|
|||
|
if ( m_strLoginName.GetLength()<=0 )
|
|||
|
{
|
|||
|
MessageBox( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
|
|||
|
return ;
|
|||
|
}
|
|||
|
char DevicePath[512]={0};
|
|||
|
if(FindPort(0,DevicePath)!=0)
|
|||
|
{
|
|||
|
MessageBox(_T("δ<EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>ϼ<EFBFBD><EFBFBD>ܹ<EFBFBD><EFBFBD>Ѳ<EFBFBD><EFBFBD>벢<EFBFBD><EFBFBD><EFBFBD>Ѱ<EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),MB_ICONWARNING);
|
|||
|
return ;
|
|||
|
}
|
|||
|
|
|||
|
char szLoginName2[512]={0};
|
|||
|
#ifdef _UNICODE
|
|||
|
strcpy( szLoginName2 , CW2A(m_strLoginName) );
|
|||
|
#else
|
|||
|
strcpy( szLoginName2 , m_strLoginName );
|
|||
|
#endif
|
|||
|
char szLoginName[512]={0};
|
|||
|
char szKey[512]={0};
|
|||
|
strcpy(szKey,"mobset");
|
|||
|
long lLen=sizeof(szLoginName);
|
|||
|
CDes des;
|
|||
|
|
|||
|
if (!des.Encrypt(szLoginName2,strlen(szLoginName2),szLoginName,lLen,szKey,8) )
|
|||
|
{
|
|||
|
MessageBox(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),MB_ICONWARNING);
|
|||
|
return ;
|
|||
|
}
|
|||
|
|
|||
|
int iRet=0;
|
|||
|
//<2F><><EFBFBD>ü<EFBFBD><C3BC>ܹ<EFBFBD><DCB9><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
char strOldWPasswd[32],strOldRPasswd[32],strNewWPasswd[32],strNewRPasswd[32];
|
|||
|
sprintf( strOldWPasswd, "%X",DOG_OLDWPASSWD );
|
|||
|
sprintf( strOldRPasswd, "%X",DOG_OLDRPASSWD );
|
|||
|
sprintf( strNewWPasswd, "%X",DOG_NEWWPASSWD );
|
|||
|
sprintf( strNewRPasswd, "%X",DOG_NEWRPASSWD );
|
|||
|
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>
|
|||
|
iRet = SetWritePassword(strOldWPasswd,strOldWPasswd,
|
|||
|
strNewWPasswd,strNewWPasswd, DevicePath);
|
|||
|
|
|||
|
short DogAddr = 3;
|
|||
|
int DogBytes = strlen(szLoginName);
|
|||
|
|
|||
|
iRet = YWriteString2((char*)&DogBytes, DogAddr,sizeof(DogBytes),strNewWPasswd,strNewWPasswd,DevicePath);
|
|||
|
DogAddr += sizeof(DogBytes);
|
|||
|
iRet = YWriteString2(szLoginName, DogAddr,DogBytes,strNewWPasswd,strNewWPasswd,DevicePath);
|
|||
|
if ( iRet !=0 )
|
|||
|
{
|
|||
|
MessageBox( _T("д<EFBFBD><EFBFBD><EFBFBD>ܹ<EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),MB_ICONWARNING );
|
|||
|
return ;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
MessageBox( _T("<EFBFBD><EFBFBD>ϲ,<2C><>ϲ!д<><D0B4><EFBFBD>ɹ<EFBFBD>!"),_T("<EFBFBD>ɹ<EFBFBD>"),MB_ICONINFORMATION );
|
|||
|
return ;
|
|||
|
}
|
|||
|
return ;
|
|||
|
}
|
|||
|
|
|||
|
void DLG_Dog_Create::OnDogRead()
|
|||
|
{
|
|||
|
char DevicePath[260]={0};
|
|||
|
if(FindPort(0,DevicePath)!=0)
|
|||
|
{
|
|||
|
MessageBox(_T("δ<EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>ϼ<EFBFBD><EFBFBD>ܹ<EFBFBD><EFBFBD>Ѳ<EFBFBD><EFBFBD>벢<EFBFBD><EFBFBD><EFBFBD>Ѱ<EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),MB_ICONWARNING);
|
|||
|
return ;
|
|||
|
}
|
|||
|
|
|||
|
int iRet=0;
|
|||
|
//<2F><><EFBFBD>ü<EFBFBD><C3BC>ܹ<EFBFBD><DCB9><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
char strOldWPasswd[32],strOldRPasswd[32],strNewWPasswd[32],strNewRPasswd[32];
|
|||
|
sprintf( strOldWPasswd, "%X",DOG_OLDWPASSWD );
|
|||
|
sprintf( strOldRPasswd, "%X",DOG_OLDRPASSWD );
|
|||
|
sprintf( strNewWPasswd, "%X",DOG_NEWWPASSWD );
|
|||
|
sprintf( strNewRPasswd, "%X",DOG_NEWRPASSWD );
|
|||
|
|
|||
|
char szLoginName[256]={0};
|
|||
|
short DogAddr = 3;
|
|||
|
int DogBytes = 0;
|
|||
|
|
|||
|
iRet = YReadString2((char*)&DogBytes, DogAddr,sizeof(DogBytes),strOldRPasswd,strOldRPasswd,DevicePath);
|
|||
|
if ( iRet!=0 && DogBytes>0 && DogBytes<100 )
|
|||
|
{
|
|||
|
MessageBox( _T("<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ܹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),MB_ICONWARNING );
|
|||
|
return ;
|
|||
|
}
|
|||
|
|
|||
|
DogAddr += sizeof(DogBytes);
|
|||
|
iRet = YReadString2(szLoginName, DogAddr,DogBytes,strOldRPasswd,strOldRPasswd,DevicePath);
|
|||
|
if ( iRet!=0 )
|
|||
|
{
|
|||
|
MessageBox( _T("<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ܹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),MB_ICONWARNING );
|
|||
|
return ;
|
|||
|
}
|
|||
|
|
|||
|
char szLoginName2[256]={0};
|
|||
|
char szKey[256]={0};
|
|||
|
strcpy(szKey,"mobset");
|
|||
|
long lLen=sizeof(szLoginName2);
|
|||
|
CDes des;
|
|||
|
if (!des.Decrypt(szLoginName,strlen(szLoginName),szLoginName2,lLen,szKey,8) )
|
|||
|
{
|
|||
|
MessageBox(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),MB_ICONWARNING);
|
|||
|
return ;
|
|||
|
}
|
|||
|
|
|||
|
#ifdef _UNICODE
|
|||
|
m_strLoginName = CA2W(szLoginName2);
|
|||
|
#else
|
|||
|
m_strLoginName = szLoginName2;
|
|||
|
#endif
|
|||
|
|
|||
|
UpdateData(false);
|
|||
|
|
|||
|
CString str;
|
|||
|
str.Format( _T("<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ܹ<EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>Ϊ:%s"),szLoginName2);
|
|||
|
MessageBox( str , _T("<EFBFBD>ɹ<EFBFBD>") , MB_ICONINFORMATION );
|
|||
|
|
|||
|
return ;
|
|||
|
}
|