📄 remoteusercfg.cpp
字号:
// RemoteUserCFG.cpp : implementation file
//
#include "stdafx.h"
#include "newclient.h"
#include "RemoteUserCFG.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CRemoteUserCFG dialog
CRemoteUserCFG::CRemoteUserCFG(CWnd* pParent /*=NULL*/)
: CDialog(CRemoteUserCFG::IDD, pParent)
{
//{{AFX_DATA_INIT(CRemoteUserCFG)
m_Right1 = FALSE;
m_Right2 = FALSE;
m_Right21 = FALSE;
m_Right22 = FALSE;
m_Right23 = FALSE;
m_Right24 = FALSE;
m_Right25 = FALSE;
m_Right26 = FALSE;
m_Right27 = FALSE;
m_Right28 = FALSE;
m_Right29 = FALSE;
m_Right3 = FALSE;
m_Right30 = FALSE;
m_Right31 = FALSE;
m_Right4 = FALSE;
m_Right5 = FALSE;
m_Right6 = FALSE;
m_UserIP = _T("");
m_UserName = _T("");
m_UserPSW = _T("");
m_UserVerifyPSW = _T("");
m_UserMACAddr1 = _T("");
m_UserMACAddr2 = _T("");
m_UserMACAddr3 = _T("");
m_UserMACAddr4 = _T("");
m_UserMACAddr5 = _T("");
m_UserMACAddr6 = _T("");
//}}AFX_DATA_INIT
}
void CRemoteUserCFG::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CRemoteUserCFG)
DDX_Control(pDX, IDC_COMBOUSERSEL, m_UserCtrl);
DDX_Check(pDX, IDC_CHKRIGHT1, m_Right1);
DDX_Check(pDX, IDC_CHKRIGHT2, m_Right2);
DDX_Check(pDX, IDC_CHKRIGHT21, m_Right21);
DDX_Check(pDX, IDC_CHKRIGHT22, m_Right22);
DDX_Check(pDX, IDC_CHKRIGHT23, m_Right23);
DDX_Check(pDX, IDC_CHKRIGHT24, m_Right24);
DDX_Check(pDX, IDC_CHKRIGHT25, m_Right25);
DDX_Check(pDX, IDC_CHKRIGHT26, m_Right26);
DDX_Check(pDX, IDC_CHKRIGHT27, m_Right27);
DDX_Check(pDX, IDC_CHKRIGHT28, m_Right28);
DDX_Check(pDX, IDC_CHKRIGHT29, m_Right29);
DDX_Check(pDX, IDC_CHKRIGHT3, m_Right3);
DDX_Check(pDX, IDC_CHKRIGHT30, m_Right30);
DDX_Check(pDX, IDC_CHKRIGHT31, m_Right31);
DDX_Check(pDX, IDC_CHKRIGHT4, m_Right4);
DDX_Check(pDX, IDC_CHKRIGHT5, m_Right5);
DDX_Check(pDX, IDC_CHKRIGHT6, m_Right6);
DDX_Text(pDX, IDC_EDITUSERIP, m_UserIP);
DDX_Text(pDX, IDC_EDITUSERNAME, m_UserName);
DDX_Text(pDX, IDC_EDITUSERPSW, m_UserPSW);
DDX_Text(pDX, IDC_EDITUSERVERIFYPSW, m_UserVerifyPSW);
DDX_Text(pDX, IDC_EDITUSERMACADDR1, m_UserMACAddr1);
DDX_Text(pDX, IDC_EDITUSERMACADDR2, m_UserMACAddr2);
DDX_Text(pDX, IDC_EDITUSERMACADDR3, m_UserMACAddr3);
DDX_Text(pDX, IDC_EDITUSERMACADDR4, m_UserMACAddr4);
DDX_Text(pDX, IDC_EDITUSERMACADDR5, m_UserMACAddr5);
DDX_Text(pDX, IDC_EDITUSERMACADDR6, m_UserMACAddr6);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CRemoteUserCFG, CDialog)
//{{AFX_MSG_MAP(CRemoteUserCFG)
ON_CBN_SELCHANGE(IDC_COMBOUSERSEL, OnSelchangeCombousersel)
ON_BN_CLICKED(IDUSEROK, OnUserok)
ON_BN_CLICKED(IDEXIT, OnExit)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CRemoteUserCFG message handlers
BOOL CRemoteUserCFG::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
CRect rc(0, 0, 0, 0);
GetParent()->GetClientRect(&rc);
((CTabCtrl*)GetParent())->AdjustRect(FALSE, &rc);
MoveWindow(&rc);
CString csUserName;
DWORD dwReturned;
bSetUserParams = FALSE;
char cTemp[100];
if(m_bConnectServer)
{
if(!NET_DVR_GetDVRConfig(m_lServerID, NET_DVR_GET_USERCFG_EX, 0, &m_user, sizeof(NET_DVR_USER_EX), &dwReturned))
{
CString sTemp;
sTemp.Format("ERROR: NET_DVR_GET_USERCFG_EX = %d \n", NET_DVR_GetLastError());
AfxMessageBox(sTemp);
}
else
{
if(m_bSuperUser)
{
m_usernum = 0;
m_UserCtrl.SetCurSel(m_usernum);
}
else
{
int i=0;
for(i=0; i<MAX_USERNUM; i++)
{
ZeroMemory(cTemp, 100);
memcpy(cTemp, m_user.struUser[i].sUserName, MAX_NAMELEN);
csUserName.Format("%s", cTemp);
if(strcmp(csUserName, m_loginname) == 0)
{
break;
}
}
m_usernum = i;
m_UserCtrl.SetCurSel(m_usernum);
}
ZeroMemory(cTemp, 100);
memcpy(cTemp, m_user.struUser[m_usernum].sUserName, MAX_NAMELEN);
m_UserName.Format("%s", cTemp);
ZeroMemory(cTemp, 100);
memcpy(cTemp, m_user.struUser[m_usernum].sPassword, PASSWD_LEN);
m_UserPSW.Format("%s", cTemp);
ZeroMemory(cTemp, 100);
memcpy(cTemp, m_user.struUser[m_usernum].sPassword, PASSWD_LEN);
m_UserVerifyPSW.Format("%s", cTemp);
m_UserIP.Format("%s",m_user.struUser[m_usernum].sUserIP);
m_UserMACAddr1.Format("%02x",m_user.struUser[m_usernum].byMACAddr[0]);
m_UserMACAddr2.Format("%02x",m_user.struUser[m_usernum].byMACAddr[1]);
m_UserMACAddr3.Format("%02x",m_user.struUser[m_usernum].byMACAddr[2]);
m_UserMACAddr4.Format("%02x",m_user.struUser[m_usernum].byMACAddr[3]);
m_UserMACAddr5.Format("%02x",m_user.struUser[m_usernum].byMACAddr[4]);
m_UserMACAddr6.Format("%02x",m_user.struUser[m_usernum].byMACAddr[5]);
m_Right1 = m_user.struUser[m_usernum].dwLocalRight[0];
m_Right2 = m_user.struUser[m_usernum].dwLocalRight[1];
m_Right3 = m_user.struUser[m_usernum].dwLocalRight[2];
m_Right4 = m_user.struUser[m_usernum].dwLocalRight[3];
m_Right5 = m_user.struUser[m_usernum].dwLocalRight[4];
m_Right6 = m_user.struUser[m_usernum].dwLocalRight[5];
m_Right21 = m_user.struUser[m_usernum].dwRemoteRight[0];
m_Right22 = m_user.struUser[m_usernum].dwRemoteRight[1];
m_Right23 = m_user.struUser[m_usernum].dwRemoteRight[2];
m_Right24 = m_user.struUser[m_usernum].dwRemoteRight[3];
m_Right25 = m_user.struUser[m_usernum].dwRemoteRight[4];
m_Right26 = m_user.struUser[m_usernum].dwRemoteRight[5];
m_Right27 = m_user.struUser[m_usernum].dwRemoteRight[6];
m_Right28 = m_user.struUser[m_usernum].dwRemoteRight[7];
m_Right29 = m_user.struUser[m_usernum].dwRemoteRight[8];
m_Right30 = m_user.struUser[m_usernum].dwRemoteRight[9];
m_Right31 = m_user.struUser[m_usernum].dwRemoteRight[10];
GetDlgItem(IDC_COMBOUSERSEL)->EnableWindow(FALSE);
GetDlgItem(IDC_EDITUSERIP)->EnableWindow(FALSE);
GetDlgItem(IDC_EDITUSERMACADDR1)->EnableWindow(FALSE);
GetDlgItem(IDC_EDITUSERMACADDR2)->EnableWindow(FALSE);
GetDlgItem(IDC_EDITUSERMACADDR3)->EnableWindow(FALSE);
GetDlgItem(IDC_EDITUSERMACADDR4)->EnableWindow(FALSE);
GetDlgItem(IDC_EDITUSERMACADDR5)->EnableWindow(FALSE);
GetDlgItem(IDC_EDITUSERMACADDR6)->EnableWindow(FALSE);
GetDlgItem(IDC_EDITUSERNAME)->EnableWindow(FALSE);
GetDlgItem(IDC_EDITUSERPSW)->EnableWindow(FALSE);
GetDlgItem(IDC_EDITUSERVERIFYPSW)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT1)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT2)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT3)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT4)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT5)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT6)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT21)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT22)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT23)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT24)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT25)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT26)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT27)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT28)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT29)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT30)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT31)->EnableWindow(FALSE);
if(m_bSuperUser)
{
GetDlgItem(IDC_COMBOUSERSEL)->EnableWindow(TRUE);
GetDlgItem(IDC_EDITUSERIP)->EnableWindow(TRUE);
GetDlgItem(IDC_EDITUSERMACADDR1)->EnableWindow(TRUE);
GetDlgItem(IDC_EDITUSERMACADDR2)->EnableWindow(TRUE);
GetDlgItem(IDC_EDITUSERMACADDR3)->EnableWindow(TRUE);
GetDlgItem(IDC_EDITUSERMACADDR4)->EnableWindow(TRUE);
GetDlgItem(IDC_EDITUSERMACADDR5)->EnableWindow(TRUE);
GetDlgItem(IDC_EDITUSERMACADDR6)->EnableWindow(TRUE);
GetDlgItem(IDC_EDITUSERPSW)->EnableWindow(TRUE);
GetDlgItem(IDC_EDITUSERVERIFYPSW)->EnableWindow(TRUE);
}
GetDlgItem(IDUSEROK)->EnableWindow(TRUE);
}
}
GetDlgItem(IDC_EDITUSERNAME)->EnableWindow(FALSE);
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CRemoteUserCFG::OnSelchangeCombousersel()
{
// TODO: Add your control notification handler code here
char cTemp[100];
m_usernum = m_UserCtrl.GetCurSel();
if(m_usernum != 0)
{
GetDlgItem(IDC_EDITUSERNAME)->EnableWindow(TRUE);
GetDlgItem(IDC_EDITUSERPSW)->EnableWindow(TRUE);
GetDlgItem(IDC_EDITUSERVERIFYPSW)->EnableWindow(TRUE);
GetDlgItem(IDC_CHKRIGHT1)->EnableWindow(TRUE);
GetDlgItem(IDC_CHKRIGHT2)->EnableWindow(TRUE);
GetDlgItem(IDC_CHKRIGHT3)->EnableWindow(TRUE);
GetDlgItem(IDC_CHKRIGHT4)->EnableWindow(TRUE);
GetDlgItem(IDC_CHKRIGHT5)->EnableWindow(TRUE);
GetDlgItem(IDC_CHKRIGHT6)->EnableWindow(TRUE);
GetDlgItem(IDC_CHKRIGHT21)->EnableWindow(TRUE);
GetDlgItem(IDC_CHKRIGHT22)->EnableWindow(TRUE);
GetDlgItem(IDC_CHKRIGHT23)->EnableWindow(TRUE);
GetDlgItem(IDC_CHKRIGHT24)->EnableWindow(TRUE);
GetDlgItem(IDC_CHKRIGHT25)->EnableWindow(TRUE);
GetDlgItem(IDC_CHKRIGHT26)->EnableWindow(TRUE);
GetDlgItem(IDC_CHKRIGHT27)->EnableWindow(TRUE);
GetDlgItem(IDC_CHKRIGHT28)->EnableWindow(TRUE);
GetDlgItem(IDC_CHKRIGHT29)->EnableWindow(TRUE);
GetDlgItem(IDC_CHKRIGHT30)->EnableWindow(TRUE);
GetDlgItem(IDC_CHKRIGHT31)->EnableWindow(TRUE);
}
else
{
GetDlgItem(IDC_EDITUSERNAME)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT1)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT2)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT3)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT4)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT5)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT6)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT21)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT22)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT23)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT24)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT25)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT26)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT27)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT28)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT29)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT30)->EnableWindow(FALSE);
GetDlgItem(IDC_CHKRIGHT31)->EnableWindow(FALSE);
}
ZeroMemory(cTemp, 100);
memcpy(cTemp, m_user.struUser[m_usernum].sUserName, MAX_NAMELEN);
m_UserName.Format("%s", cTemp);
ZeroMemory(cTemp, 100);
memcpy(cTemp, m_user.struUser[m_usernum].sPassword, PASSWD_LEN);
m_UserPSW.Format("%s", cTemp);
ZeroMemory(cTemp, 100);
memcpy(cTemp, m_user.struUser[m_usernum].sPassword, PASSWD_LEN);
m_UserVerifyPSW.Format("%s", cTemp);
m_UserIP.Format("%s",m_user.struUser[m_usernum].sUserIP);
m_UserMACAddr1.Format("%02x",m_user.struUser[m_usernum].byMACAddr[0]);
m_UserMACAddr2.Format("%02x",m_user.struUser[m_usernum].byMACAddr[1]);
m_UserMACAddr3.Format("%02x",m_user.struUser[m_usernum].byMACAddr[2]);
m_UserMACAddr4.Format("%02x",m_user.struUser[m_usernum].byMACAddr[3]);
m_UserMACAddr5.Format("%02x",m_user.struUser[m_usernum].byMACAddr[4]);
m_UserMACAddr6.Format("%02x",m_user.struUser[m_usernum].byMACAddr[5]);
m_Right1 = m_user.struUser[m_usernum].dwLocalRight[0];
m_Right2 = m_user.struUser[m_usernum].dwLocalRight[1];
m_Right3 = m_user.struUser[m_usernum].dwLocalRight[2];
m_Right4 = m_user.struUser[m_usernum].dwLocalRight[3];
m_Right5 = m_user.struUser[m_usernum].dwLocalRight[4];
m_Right6 = m_user.struUser[m_usernum].dwLocalRight[5];
m_Right21 = m_user.struUser[m_usernum].dwRemoteRight[0];
m_Right22 = m_user.struUser[m_usernum].dwRemoteRight[1];
m_Right23 = m_user.struUser[m_usernum].dwRemoteRight[2];
m_Right24 = m_user.struUser[m_usernum].dwRemoteRight[3];
m_Right25 = m_user.struUser[m_usernum].dwRemoteRight[4];
m_Right26 = m_user.struUser[m_usernum].dwRemoteRight[5];
m_Right27 = m_user.struUser[m_usernum].dwRemoteRight[6];
m_Right28 = m_user.struUser[m_usernum].dwRemoteRight[7];
m_Right29 = m_user.struUser[m_usernum].dwRemoteRight[8];
m_Right30 = m_user.struUser[m_usernum].dwRemoteRight[9];
m_Right31 = m_user.struUser[m_usernum].dwRemoteRight[10];
if(m_usernum == 0)
{
GetDlgItem(IDC_EDITUSERNAME)->EnableWindow(FALSE);
}
UpdateData(FALSE);
}
void CRemoteUserCFG::OnUserok()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
strncpy((char *)m_user.struUser[m_usernum].sUserName, m_UserName, MAX_NAMELEN);
if(strcmp(m_UserPSW,m_UserVerifyPSW) != 0)
{
AfxMessageBox("Password and verify password are not consistent!");
return;
}
int iLength = strlen(m_UserPSW);
iLength = iLength>PASSWD_LEN ? PASSWD_LEN:iLength;
char temp[PASSWD_LEN];
strncpy(temp,m_UserPSW,PASSWD_LEN);
strncpy((char *)m_user.struUser[m_usernum].sPassword, m_UserPSW,PASSWD_LEN);
strncpy((char *)m_user.struUser[m_usernum].sUserIP, m_UserIP,16);
int nVal;
sscanf(m_UserMACAddr1, "%02x", &nVal);//
m_user.struUser[m_usernum].byMACAddr[0] = (BYTE)nVal;
sscanf(m_UserMACAddr2, "%02x", &nVal);
m_user.struUser[m_usernum].byMACAddr[1] = (BYTE)nVal;
sscanf(m_UserMACAddr3, "%02x", &nVal);
m_user.struUser[m_usernum].byMACAddr[2] = (BYTE)nVal;
sscanf(m_UserMACAddr4, "%02x", &nVal);
m_user.struUser[m_usernum].byMACAddr[3] = (BYTE)nVal;
sscanf(m_UserMACAddr5, "%02x", &nVal);
m_user.struUser[m_usernum].byMACAddr[4] = (BYTE)nVal;
sscanf(m_UserMACAddr6, "%02x", &nVal);
m_user.struUser[m_usernum].byMACAddr[5] = (BYTE)nVal;
m_user.struUser[m_usernum].dwLocalRight[0] = m_Right1;
m_user.struUser[m_usernum].dwLocalRight[1] = m_Right2;
m_user.struUser[m_usernum].dwLocalRight[2] = m_Right3;
m_user.struUser[m_usernum].dwLocalRight[3] = m_Right4;
m_user.struUser[m_usernum].dwLocalRight[4] = m_Right5;
m_user.struUser[m_usernum].dwLocalRight[5] = m_Right6;
m_user.struUser[m_usernum].dwRemoteRight[0] = m_Right21;
m_user.struUser[m_usernum].dwRemoteRight[1] = m_Right22;
m_user.struUser[m_usernum].dwRemoteRight[2] = m_Right23;
m_user.struUser[m_usernum].dwRemoteRight[3] = m_Right24;
m_user.struUser[m_usernum].dwRemoteRight[4] = m_Right25;
m_user.struUser[m_usernum].dwRemoteRight[5] = m_Right26;
m_user.struUser[m_usernum].dwRemoteRight[6] = m_Right27;
m_user.struUser[m_usernum].dwRemoteRight[7] = m_Right28;
m_user.struUser[m_usernum].dwRemoteRight[8] = m_Right29;
m_user.struUser[m_usernum].dwRemoteRight[9] = m_Right30;
m_user.struUser[m_usernum].dwRemoteRight[10] = m_Right31;
bSetUserParams = TRUE;
}
void CRemoteUserCFG::OnExit()
{
// TODO: Add your control notification handler code here
bSetUserParams = FALSE;
}
void CRemoteUserCFG::OnCancel()
{
// TODO: Add extra cleanup here
// CDialog::OnCancel();
}
void CRemoteUserCFG::OnOK()
{
// TODO: Add extra cleanup here
// CDialog::OnOK();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -