📄 sampledlg.cpp
字号:
m_NetTree.Expand(hTreeRoot, TVE_EXPAND) ;
}
if(ENGLISH)
{
str =_T("realtime image");//English
}
else
{
str =_T("实时图像");//Chinese
}
if(cur->hRealTimeImageNodeTree!=NULL) //已登录
return TRUE;
cur->hRealTimeImageNodeTree=m_NetTree.InsertItem(str,0,0,cur->hNodeTree);
m_NetTree.Expand(cur->hNodeTree, TVE_EXPAND) ;
nPortNum = (unsigned char)ch ;
if (nPortNum <= PORTNUM)
{
cur->nChannelCount=nPortNum;
for (i=0;i<nPortNum;i++)
{
if(ENGLISH)
{
str.Format("%s%02d",_T("port"),i+1) ;//English
}
else
{
str.Format("%s%02d",_T("通道"),i+1) ;//Chinese
}
cur->hRealTimeImagePort[i]=m_NetTree.InsertItem(str, 0, 0, cur->hRealTimeImageNodeTree) ;
}
}
m_NetTree.Expand(cur->hRealTimeImageNodeTree, TVE_EXPAND) ;
if(ENGLISH)
{
str =_T("record") ;//English
}
else
{
str =_T("录像") ;//Chinese
}
cur->hRecordNodeTree = m_NetTree.InsertItem(str, 0, 0, cur->hNodeTree) ;
m_NetTree.SetItemImage(cur->hNodeTree, 1, 1) ;
UpdateData(FALSE) ;
m_nCurDVRType = DVRHardWareType;
SetTimer(111,10,NULL);
return TRUE ;
}
BOOL CSAMPLEDlg::NetSetRealImage(unsigned long nIpAddr,unsigned short nServPort, char* sPort,BOOL IsOpen)
{
int i ;
CString str ;
char RealPort[10];
TM8100_NET_NODE *cur;
memset(RealPort,0,10);
memcpy(RealPort,sPort,4);
cur = pNetNodeHead ;
while(cur!=NULL)
{
if (cur->ipAddr == nIpAddr&&cur->nServPort==nServPort)
{
break;
}
cur = cur->next ;
}
if(cur==NULL) //没找到
{
return FALSE;
}
for (i=0;i<cur->nChannelCount;i++)
{
str.Format("P_%02d",i+1) ;
if(str==RealPort)
{
if(IsOpen)
m_NetTree.SetItemImage(cur->hRealTimeImagePort[i],1,1);
else
m_NetTree.SetItemImage(cur->hRealTimeImagePort[i],0,0);
}
}
return TRUE ;
}
void CSAMPLEDlg::AddNetNode(unsigned long nIpAddr,unsigned short nServPort,char *Buf)
{
int i, len ;
BOOL bExist ;
char pNameBuf[25] ;
CString str ;
HTREEITEM hNetNode ;
TM8100_NET_NODE *cur, *pre ;
bExist = FALSE ;
cur = pNetNodeHead ;
while (cur!=NULL)
{
if (cur->ipAddr == nIpAddr&&cur->nServPort==nServPort)
{
bExist = TRUE ;
if(Buf[6]==-1)
{
memset(pNameBuf,0,25) ;
}
else
{
memcpy(pNameBuf,Buf,24) ;
pNameBuf[24]=NULL ;
}
str.Format("%s(%s)",inet_ntoa(*(struct in_addr*)&nIpAddr),pNameBuf) ;
if(cur->hNodeTree)
{
m_NetTree.SetItemText(cur->hNodeTree,str);
}
break ;
}
cur = cur->next ;
}
if(Buf[6]==-1)
{
memset(pNameBuf,0,25) ;
}
else
{
memcpy(pNameBuf,Buf,24) ;
pNameBuf[24]=NULL ;
}
if (!bExist)
{
str.Format("%s(%s)",inet_ntoa(*(struct in_addr*)&nIpAddr),pNameBuf) ;
hNetNode = m_NetTree.InsertItem(str, 0, 0, hTreeRoot) ;
if (hNetNode)
{
cur = new TM8100_NET_NODE ;
cur->hNodeTree = hNetNode ;
cur->ipAddr = nIpAddr ;
cur->nServPort=nServPort;
cur->nChannelCount=0;
cur->next = NULL ;
cur->hRealTimeImageNodeTree = NULL ;
for (i=0;i<PORTNUM;i++)
cur->hRealTimeImagePort[i] = NULL ;
cur->pRecDateHead = NULL ;
cur->nRealMulticast = 0 ;
len = strlen(Buf) ;
if (len < 30)
{
memcpy(cur->sNodeName, Buf, len) ;
cur->sNodeName[len]=NULL;
}
else
{
memcpy(cur->sNodeName, Buf, 28);
cur->sNodeName[29]=NULL;
}
if (pNetNodeHead)
{
pre = pNetNodeHead ;
while (pre->next!=NULL)
{
pre = pre->next ;
}
pre->next = cur ;
}
else
{
pNetNodeHead = cur ;
}
}
m_NetTree.SetItemImage(hTreeRoot,1,1);
m_NetTree.Expand(hTreeRoot, TVE_EXPAND) ;
}
}
//---------------------------------------------------------------------
//---------------------------------------------------------------------
void CSAMPLEDlg::OnButton1()
{
// TODO: Add your control notification handler code here
Con_CheckNetDVR();//此处只管发送命令,收到网络上DVR反馈的信息后,
//会以消息的形式送回来
}
void CSAMPLEDlg::OnButton2()
{
// TODO: Add your control notification handler code here
TRANSSERV_INFO TransServerInfo;
char UserName[20];
char Password[20];
unsigned long NetAddr,TransIp;//,len;
UpdateData(TRUE) ;//ddddddd
memset(Password,0,20);
strcpy(Password,m_Passwd);//DVR 默认密码是888,实际使用可设置
memset(UserName,0,20);
strcpy(UserName,m_User);
NetAddr=inet_addr(m_IP);
if(m_UseTrans)
{
m_cIpServer.GetAddress(TransIp);
TransIp=htonl(TransIp);
TransServerInfo.nTransServerIp=TransIp;
TransServerInfo.nTransServerPort=m_ServerPort;
strcpy(TransServerInfo.UserName,m_User);
strcpy(TransServerInfo.Password,m_ServerPasswd);
Con_LoginDVR(NetAddr,m_ServPort,Password,&TransServerInfo);
}
else
Con_LoginDVR(NetAddr,m_ServPort,Password);
}
void CSAMPLEDlg::OnButton3()
{
// TODO: Add your control notification handler code here
unsigned long NetAddr;
UpdateData(TRUE) ;
NetAddr=inet_addr(m_IP);
ShowWindow(SW_HIDE);
Con_CheckRecordDate(NetAddr,m_ServPort);
}
void CSAMPLEDlg::OnButton4()
{
// TODO: Add your control notification handler code here
unsigned long NetAddr;
char Buf[5];
UpdateData(TRUE) ;
NetAddr=inet_addr(m_IP);
memset(Buf,0,5) ;
Buf[0] =m_year;
Buf[1] =m_month;
Buf[2] =m_date;
Con_CheckPortRecordFile(NetAddr,m_ServPort,m_portno,Buf);
}
void CSAMPLEDlg::OnButton6()
{
// TODO: Add your control notification handler code here
unsigned long NetAddr;
UpdateData(TRUE) ;
NetAddr=inet_addr(m_IP);
Con_ImageDisplay(NetAddr,m_ServPort,1,(BYTE)m_imageno);
}
void CSAMPLEDlg::OnButton7()
{
// TODO: Add your control notification handler code here
unsigned long NetAddr;
UpdateData(TRUE) ;
NetAddr=inet_addr(m_IP);
Con_ImageDisplay(NetAddr,m_ServPort,4,0);
}
void CSAMPLEDlg::OnButton8()
{
// TODO: Add your control notification handler code here
unsigned long NetAddr;
UpdateData(TRUE) ;
NetAddr=inet_addr(m_IP);
Con_ImageDisplay(NetAddr,m_ServPort,9,0);
}
void CSAMPLEDlg::OnButton9()
{
// TODO: Add your control notification handler code here
unsigned long NetAddr;
UpdateData(TRUE) ;
NetAddr=inet_addr(m_IP);
Con_AudioMonitor(NetAddr,m_ServPort,1);
}
void CSAMPLEDlg::OnButton10()
{
// TODO: Add your control notification handler code here
unsigned long NetAddr;
UpdateData(TRUE) ;
NetAddr=inet_addr(m_IP);
Con_AudioMonitor(NetAddr,m_ServPort,2);
}
void CSAMPLEDlg::OnButton11()
{
int i;
ALARM_LIST *pAlarmLst;
// TODO: Add your control notification handler code here
for(i=0;i<m_AlarmList.GetCount();i++)
{
pAlarmLst=(ALARM_LIST *)m_AlarmList.GetItemDataPtr(i);
if(pAlarmLst!=NULL)
{
Con_ClearRemoteProbAlarm(pAlarmLst->nIpAddr,pAlarmLst->nServPort);
delete pAlarmLst;
}
}
m_AlarmList.ResetContent();
}
void CSAMPLEDlg::OnButton12()
{
Con_SetSock5TcpCallBack(Sock5TcpConnect);
}
void CSAMPLEDlg::OnButton5()
{
// TODO: Add your control notification handler code here
char Buf[10];
unsigned long NetAddr;
UpdateData(TRUE) ;
NetAddr=inet_addr(m_IP);
Buf[0] =m_year;
Buf[1] =m_month;
Buf[2] =m_date;
Buf[3] =m_hour;
Buf[4] =m_minute;
Buf[5] = '\0' ;
Con_SetPlayPara(NetAddr,m_ServPort,m_portno,Buf);
}
void CSAMPLEDlg::OnButton13()
{
// TODO: Add your control notification handler code here
unsigned long NetAddr;
UpdateData(TRUE) ;
NetAddr=inet_addr(m_IP);
Con_Play_Pause(NetAddr,m_ServPort);
}
void CSAMPLEDlg::OnButton17()
{
// TODO: Add your control notification handler code here
unsigned long NetAddr;
UpdateData(TRUE) ;
NetAddr=inet_addr(m_IP);
Con_Stop(NetAddr,m_ServPort);
}
void CSAMPLEDlg::OnButton14()
{
// TODO: Add your control notification handler code here
unsigned long NetAddr;
UpdateData(TRUE) ;
NetAddr=inet_addr(m_IP);
Con_Fast(NetAddr,m_ServPort);
}
void CSAMPLEDlg::OnButton15()
{
// TODO: Add your control notification handler code here
unsigned long NetAddr;
UpdateData(TRUE) ;
NetAddr=inet_addr(m_IP);
Con_Back(NetAddr,m_ServPort);
}
void CSAMPLEDlg::OnButton16()
{
// TODO: Add your control notification handler code here
unsigned long NetAddr;
UpdateData(TRUE) ;
NetAddr=inet_addr(m_IP);
Con_Frame(NetAddr,m_ServPort);
}
void CSAMPLEDlg::OnButton18()
{
// TODO: Add your control notification handler code here
unsigned long NetAddr;
UpdateData(TRUE) ;
NetAddr=inet_addr(m_IP);
Con_DisMenu(NetAddr,m_ServPort);
}
void CSAMPLEDlg::OnButton19()
{
// TODO: Add your control notification handler code here
unsigned long NetAddr;
char Buf[20];
memset(Buf,0,20);
strcpy(Buf,"C:");
Con_SetBackupDir(Buf);//设置备份文件路径
//也可不设采用默认的路径
UpdateData(TRUE) ;
NetAddr=inet_addr(m_IP);
Buf[0] =m_year;
Buf[1] =m_month;
Buf[2] =m_date;
Buf[3] =m_hour;//起始小时
Buf[4] =m_minute;//起始分钟
Buf[5] = m_endhour;//终止小时
Buf[6] = m_endminute;//终止分钟
Con_BackupRecordFile(NetAddr,m_ServPort,m_portno,Buf,false,NULL);
// 由用户自己写数据
//m_pBackFile = fopen("c:\\back.str","wb");
//Con_BackupRecordFile(NetAddr,m_ServPort,m_portno,Buf,true,m_pBackFile);
}
void CSAMPLEDlg::OnClose()
{
// TODO: Add your message handler code here and/or call default
int t1=0;
t1=Con_ExitSys();
CDialog::OnClose();
}
void CSAMPLEDlg::OnButton28()
{
// TODO: Add your control notification handler code here
unsigned long NetAddr;
UpdateData(TRUE) ;
NetAddr=inet_addr(m_IP);
//if(m_LoginParam.IPAddress>0)
if (pNetRemoteCtlDlg->m_nDVRType > 0)
{
Con_pDVRPara =NULL;
int i=pNetRemoteCtlDlg->m_TabSheet.GetCurSel();
CDialog *pTempDlg = pNetRemoteCtlDlg->m_TabSheet.m_pPages[i];
if(pTempDlg==&(pNetRemoteCtlDlg->RecSetDlg))
pNetRemoteCtlDlg->RecSetDlg.Refresh();
if(pTempDlg==&(pNetRemoteCtlDlg->VideoParaDlg))
pNetRemoteCtlDlg->VideoParaDlg.Refresh();
if(pTempDlg==&(pNetRemoteCtlDlg->SchRecDlg))
pNetRemoteCtlDlg->SchRecDlg.Refresh();
if(pTempDlg==&(pNetRemoteCtlDlg->MAlarmDlg))
pNetRemoteCtlDlg->MAlarmDlg.Refresh();
if(pTempDlg==&(pNetRemoteCtlDlg->MRegionDlg))
pNetRemoteCtlDlg->MRegionDlg.Refresh();
if(pTempDlg==&(pNetRemoteCtlDlg->PAlarmDlg))
pNetRemoteCtlDlg->PAlarmDlg.Refresh();
if(pTempDlg==&(pNetRemoteCtlDlg->ElseDlg))
pNetRemoteCtlDlg->ElseDlg.Refresh();
if(pTempDlg==&(pNetRemoteCtlDlg->RecDlg))
pNetRemoteCtlDlg->RecDlg.Refresh();
if(pTempDlg==&(pNetRemoteCtlDlg->NetAddrDlg))
pNetRemoteCtlDlg->NetAddrDlg.Refresh();
pNetRemoteCtlDlg->ShowWindow(SW_SHOW);
}
else
{
if (Con_pDVRPara != NULL)
{
pNetRemoteCtlDlg->ShowWindow(SW_SHOW);
}
}
}
void CSAMPLEDlg::OnButton29()
{
// TODO: Add your control notification handler code here
unsigned long NetAddr;
UpdateData(TRUE) ;
NetAddr=inet_addr(m_IP);
CString str = "";
GetDlgItemText(IDC_BUTTON29,str);
if (str == "上")
{
Con_PanUp(NetAddr,m_ServPort,m_portno);
SetDlgItemText(IDC_BUTTON29,"|上");
}
else
{
Con_PanStop(NetAddr,m_ServPort,m_portno);
SetDlgItemText(IDC_BUTTON29,"上");
}
}
void CSAMPLEDlg::OnButton34()
{
// TODO: Add your control notification handler code here
unsigned long NetAddr;
UpdateData(TRUE) ;
NetAddr=inet_addr(m_IP);
Con_Iris_P(NetAddr,m_ServPort,m_portno);
}
void CSAMPLEDlg::OnButton35()
{
// TODO: Add your control notification handler code here
unsigned long NetAddr;
UpdateData(TRUE) ;
NetAddr=inet_addr(m_IP);
Con_Iris_N(NetAddr,m_ServPort,m_portno);
}
void CSAMPLEDlg::OnButton40()
{
// TODO: Add your control notification handler code here
unsigned long NetAddr;
UpdateData(TRUE) ;
NetAddr=inet_addr(m_IP);
Con_OpenLight(NetAddr,m_ServPort,m_portno);
}
void CSAMPLEDlg::OnButton41()
{
// TODO: Add your control notification handler code here
unsigned long NetAddr;
UpdateData(TRUE) ;
NetAddr=inet_addr(m_IP);
Con_CloseLight(NetAddr,m_ServPort,m_portno);
}
void CSAMPLEDlg::FindAllDiskDriver()
{
unsigned long i , nDrv ;
char c , str[20] ;
nDrv = GetLogicalDrives() ;
nDriverMask = 0 ;
c = 'C' ;
for (i=2;i<30;i++)
{
if (nDrv & (1<<i))
{
memset(str, 0, 20) ;
sprintf(str, "%c:", c) ;
UINT j ;
j = GetDriveType(str) ;
if (j != DRIVE_REMOVABLE && j != DRIVE_CDROM)
nDriverMask |= (1<<i) ;
}
c++ ;
}
}
void CSAMPLEDlg::O
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -