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

📄 remoteusercfg.cpp

📁 SDK DVR/DVS HIKVISION
💻 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 + -