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

📄 mainfrm.cpp

📁 MDF监控源码2
💻 CPP
📖 第 1 页 / 共 2 页
字号:

//##ModelId=465286A201B5
LRESULT CMainFrame::onStatusChange(WPARAM wParam, LPARAM lParam)
{
	//处理告警或消警状态变化

	//CEquipmentPort *port = (CEquipmentPort *)wParam;
	//CString strSQL,strTable,strTip ;		//SQL语句
	//_variant_t var;
	//_RecordsetPtr pRsPtr ;
	//int iResult = 0 ;
	//CString sSql;
	//CString strSpotSort,strItem;
	//int iItem,iSunItem,iValue;
	//iValue = 0;
	////CAlarmForm *p_Wnd  = (CAlarmForm *)this->m_wndSplitter2.GetPane(1,0);
	//CAlarmForm *p_Wnd  = (CAlarmForm *)this->m_wndSplitter.GetPane(0,1);
	//CListCtrl *m_listAlarm = &(p_Wnd->m_listAlarm);
	//

	//pRsPtr.CreateInstance(__uuidof(Recordset)); 

	///****************************************************************************
	//	保存告警信息

	//****************************************************************************/
	//iSunItem = 1;
	//
	////LVITEM lvItem;
	//

	////取得被监测设备资料ID及序号
	//
	//if(pRsPtr->State == 1 )
	//	pRsPtr->Close();
	//strSQL.Format("Select * From VW_ModulePortNote Where SVMID = %d and SVMPSort = %d",port->MonitorEquID,port->SVMPSort);
	//iResult = p_adodb->ReadDB(strSQL,pRsPtr,strTip);
	//if (iResult == 0)
	//{
	//	strItem.Format("%d",m_listAlarm->GetItemCount() + 1 );
	//	if (port->AlarmState == PORT_NORMAL)
	//		iItem = m_listAlarm->InsertItem(m_listAlarm->GetItemCount() + 1,strItem.GetBuffer(),0);
	//	else
	//		iItem = m_listAlarm->InsertItem(m_listAlarm->GetItemCount() + 1,strItem.GetBuffer(),port->AlarmLevel );

	//	p_adodb->GetFieldValue("SVSpotNote",pRsPtr,strItem);
	//	if (strItem.GetLength() == 0)
	//	{
	//		p_adodb->GetFieldValue("SVMTrueName",pRsPtr,strItem);
	//		m_listAlarm->SetItemText(iItem,iSunItem++,strItem);
	//		p_adodb->GetFieldValue("SVMPSort",pRsPtr,iValue);
	//		strItem.Format("%d",iValue);
	//		m_listAlarm->SetItemText(iItem,iSunItem++,strItem);
	//	}
	//	else
	//	{
	//		p_adodb->GetFieldValue("SVDTrueName",pRsPtr,strItem);
	//		m_listAlarm->SetItemText(iItem,iSunItem++,strItem);
	//		p_adodb->GetFieldValue("SVSpotNote",pRsPtr,strItem);
	//		m_listAlarm->SetItemText(iItem,iSunItem++,strItem);			
	//	}
	//	
	//	if (port->AlarmState == PORT_NORMAL)
	//	{
	//		strItem = _T("销警");
	//		::SendMessage(p_Wnd->m_hWnd,WM_STATUS_CHANGE,-1,0);
	//		
	//	}
	//	else
	//	{
	//		strItem = _T("告警");
	//		::SendMessage(p_Wnd->m_hWnd,WM_STATUS_CHANGE,1,0);
	//	}
	//	m_listAlarm->SetItemText(iItem,iSunItem++,strItem);


	//	strItem = port->tmUpdateTime.Format("%Y-%m-%d %H:%M:%S");
	//	m_listAlarm->SetItemText(iItem,iSunItem++,strItem);

	//	//持续秒数
	//	
	//	CTimeSpan  tmsTime =  port->tmUpdateTime - port->tmStartTime;
	//	long lSeconds = (long) tmsTime.GetTotalSeconds();
	//	strItem.Format("%d",lSeconds);
	//	m_listAlarm->SetItemText(iItem,iSunItem++,strItem);

	//	//告警值
	//	strItem.Format("%5.0f",port->value);
	//	m_listAlarm->SetItemText(iItem,iSunItem++,strItem);

	//	//告警级别
	//	strItem.Format("%d",port->AlarmLevel);
	//	m_listAlarm->SetItemText(iItem,iSunItem++,strItem);


	//	//处理结果
	//	if (port->AlarmState == PORT_NORMAL)
	//	{
	//		strItem = _T("自动销警");
	//		m_listAlarm->SetItemText(iItem,iSunItem++,strItem);
	//	}

	//}
	//pRsPtr->Close();
	//
	//m_listAlarm->UpdateData(true);
	////UpdateData(true);


	return LRESULT();
}

//##ModelId=465286A202AF
void CMainFrame::OnShowcontrol()
{
	// TODO: 在此添加命令处理程序代码
	
	//CMDFDlg *dlgControl;
	//dlgControl = new CMDFDlg(this);
	//dlgControl->Create(IDD_MDFMAIN);
	//dlgControl->ShowWindow(SW_SHOW); 

	//theApp.dlgServer->ShowWindow(SW_SHOW);

}

//##ModelId=465286A202B1
void CMainFrame::OnShowmainwin()
{
	// TODO: 在此添加命令处理程序代码
	ShowWindow(SW_SHOW);
}


//##ModelId=44B6F88500EA
LRESULT CMainFrame::OnShellNotify(WPARAM wParam, LPARAM lParam)
{
	BOOL bResult;
	if( lParam==WM_LBUTTONDBLCLK ) 
	{

		theApp.dlgServer->ShowWindow(SW_SHOW);
		theApp.dlgServer->BringWindowToTop();
		//BringWindowToTop();
		return(0) ;
	}
	//如果收到的中单击右键信息,根据对剪贴板的监视与否修改不同的菜单项
	if(lParam==WM_RBUTTONDOWN) 
	{

		CMenu menu; 

		menu.LoadMenu(IDR_POPMENU); 
		if( theApp.m_Baseinfo.MonitorStatus )
		{
			//启用“开始记录”菜单项
			
			//bResult = menu.EnableMenuItem(ID_STARTCOMM,1 );	//0  使启动菜单有效 
			//bResult = menu.EnableMenuItem(ID_STOPCOMM,0); //1  使停止菜单无效
			bResult = menu.EnableMenuItem(ID_STARTCOMM,MF_BYCOMMAND|MF_DISABLED|MF_GRAYED );	//0  使启动菜单有效 
			bResult = menu.EnableMenuItem(ID_STOPCOMM,MF_BYCOMMAND|MF_ENABLED); //1  使停止菜单无效
			
		}
		else
		{
			//启用“停止始记录”菜单项
			bResult = menu.EnableMenuItem(ID_STARTCOMM,MF_BYCOMMAND|MF_ENABLED);
			bResult = menu.EnableMenuItem(ID_STOPCOMM,MF_BYCOMMAND|MF_DISABLED|MF_GRAYED);
		}
		// 鼠标单击位置 
		CPoint point; 
		GetCursorPos(&point); 
		// 将背景窗口激活 
		//SetForegroundWindow(); 
		
		// 显示图标菜单 
		menu.GetSubMenu(0)->TrackPopupMenu( 
			TPM_LEFTBUTTON|TPM_RIGHTBUTTON,  
			point.x, point.y, this, NULL);

		return(0) ;
	}
	return(0);
}


//##ModelId=465286A201C6
void CMainFrame::HideMainWin()
{
	CString strTemp;
	NOTIFYICONDATA tnd ;
	tnd.cbSize = sizeof(NOTIFYICONDATA) ;
	tnd.hWnd = m_hWnd;
	tnd.uID = IDD_MDFMAIN ;
	tnd.uFlags = NIF_MESSAGE|NIF_ICON|NIF_TIP ;
	tnd.uCallbackMessage = WM_SHELLNOTIFY ;
	tnd.hIcon = ::LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_PLAY)) ;
	strTemp.LoadString(IDS_STRAPPTITLLE);
	
	strcpy(tnd.szTip,strTemp) ;
	//CString::LoadString(IDS_STRAPPTITLLE);
	ShowWindow(SW_HIDE);
	Shell_NotifyIcon(NIM_ADD,&tnd) ;
	//CloseHandle(tnd.hIcon) ;
}
// 关闭系统服务
//##ModelId=465286A202B3
void CMainFrame::CloseSystem(void)
{
	//First stop service just close system

	NOTIFYICONDATA tnd ;
	tnd.cbSize = sizeof(NOTIFYICONDATA) ;
	tnd.hWnd =  m_hWnd ;
	tnd.uID = IDD_MDFMAIN ;
	Shell_NotifyIcon(NIM_DELETE,&tnd) ;

}

//##ModelId=465286A202BF
BOOL CMainFrame::OnWndMsg(UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
	// TODO: 在此添加专用代码和/或调用基类

	return CFrameWnd::OnWndMsg(message, wParam, lParam, pResult);
}

//##ModelId=465286A202DE
void CMainFrame::OnClose()
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值

	HideMainWin();

	//CFrameWnd::OnClose();
}

//##ModelId=465286A202E0
void CMainFrame::OnExit()
{
	CloseSystem();
	PostQuitMessage(0);
	// TODO: 在此添加命令处理程序代码
}

//##ModelId=465286A202EF
void CMainFrame::OnAppExit()
{
	// TODO: 在此添加命令处理程序代码
	CloseSystem();
	
	PostQuitMessage(0);
}

//##ModelId=465286A202F1
void CMainFrame::OnStartcomm()
{
	
	theApp.StartMonitoring();
	// TODO: 在此添加命令处理程序代码
}

//##ModelId=465286A202F3
void CMainFrame::OnStopcomm()
{
	theApp.StopMonitoring();
	// TODO: 在此添加命令处理程序代码
}


//##ModelId=465286A20282
LRESULT CMainFrame::onRestart(WPARAM wParam, LPARAM lParam)
{
	//Send message to mobile phone
	CString strReply;
	strReply.Empty();
	//strReply = (LPCTSTR)wParam;
	

	//CInfoFrame *frame = (InfoFrame *)wParam ;
	theApp.WriteTxtLog("准备停止监测服务器运行...");
	Sleep(100);

	if (theApp.StopMonitoring())
	{
		theApp.WriteTxtLog("监测服务器停止运行,正准备重新启动...");
		theApp.StartMonitoring();
		if (theApp.m_Baseinfo.MonitorStatus)		//返回起动信息
		{
			strReply = "RF|00";
			theApp.WriteTxtLog("监测服务器重新起动成功...");
			if (theApp.m_pMonitor->m_udpServer[0]->IsOpen())
			{
							
				theApp.m_pMonitor->m_udpServer[0]->SendTo(strReply,theApp.m_Baseinfo.WebIP,theApp.m_Baseinfo.WebPort);
			}
			theApp.WriteTxtLog("远程起动成功...");

		}
	}	
	else
	{
		theApp.WriteTxtLog("监测服务器未能正常停止运行...");
		strReply.Replace("00","FF");
		if (theApp.m_Baseinfo.MonitorStatus)		//返回起动失败
		{
			strReply = "RF|FF";
			//theApp.m_pMonitor->m_udpServer[0]->SendTo(strReply,theApp.m_Baseinfo.WebIP,theApp.m_Baseinfo.WebPort);
		}
		theApp.WriteTxtLog("远程起动失败...");
	}
	return  LRESULT();
}

//##ModelId=465286A202F5
int CMainFrame::PlayWave(CString strWaveFile)
{
	CString strSound;
	if (strWaveFile.GetLength() >0)
		strSound = strWaveFile;

		sndPlaySound(strSound.GetBuffer(),SND_SYNC);
	return 0;
}

//##ModelId=465286A202FE
void CMainFrame::OnCmSound()
{	
	CString strTip;
	strTip = "33962181";
	theApp.m_pMonitor->IniGsmInfo();
	theApp.m_pMonitor->m_Gsm->Dail(strTip);
	
	//theApp.m_pMonitor->m_pMedia.SetVoice(_T("1"),1,m_hWnd);
	//theApp.m_pMonitor->m_pMedia.AlarmVoice();

	// TODO: 在此添加命令处理程序代码
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -