|  | @@ -195,6 +195,9 @@ int CIRControlWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
 | 
	
		
			
				|  |  |  		AfxMessageBox("加载遥控dll失败,请检测dll是否正常!");
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +#if 1
 | 
	
		
			
				|  |  | +	ReStartIRDevice();
 | 
	
		
			
				|  |  | +#else
 | 
	
		
			
				|  |  |  	// 启动服务;
 | 
	
		
			
				|  |  |  	if (g_IsAppRunning(Global::g_Config.redratpath.c_str()))
 | 
	
		
			
				|  |  |  	{
 | 
	
	
		
			
				|  | @@ -203,7 +206,7 @@ int CIRControlWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
 | 
	
		
			
				|  |  |  	else
 | 
	
		
			
				|  |  |  	{
 | 
	
		
			
				|  |  |  		TRACE("启动红老鼠进程未运行\r");
 | 
	
		
			
				|  |  | -		if (g_StartIRApp(Global::g_Config.redratpath.c_str(), (Global::g_Config.signaldir + "\\defualt.xml").c_str(), 40000))
 | 
	
		
			
				|  |  | +		if (g_StartIRApp(Global::g_Config.redratpath.c_str(), ".\\default.xml", 40000))
 | 
	
		
			
				|  |  |  		{
 | 
	
		
			
				|  |  |  			TRACE("启动红老鼠进程启动成功\r");
 | 
	
		
			
				|  |  |  		}
 | 
	
	
		
			
				|  | @@ -239,7 +242,7 @@ int CIRControlWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
 | 
	
		
			
				|  |  |  	{
 | 
	
		
			
				|  |  |  		TRACE("加载信号集文件成功\r");
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  |  	return 0;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -310,34 +313,14 @@ void CIRControlWnd::OnCbnSelchangeSignal()
 | 
	
		
			
				|  |  |  	{
 | 
	
		
			
				|  |  |  		std::string signalpath;
 | 
	
		
			
				|  |  |  		m_wndSignalCombo.GetLBText(nCurSel, strSignal);
 | 
	
		
			
				|  |  | -		if ( Global::g_Config.bGenerics )
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			signalpath = Global::g_Config.signaldir + "\\general\\";
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		else
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			signalpath = Global::g_Config.signaldir + "\\product\\";
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -		signalpath.append(strSignal.GetString());
 | 
	
		
			
				|  |  | -		signalpath.append(".xml");
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -		// 切换信号集文件;
 | 
	
		
			
				|  |  | -		// 加载指定目录的xml信号集文件;
 | 
	
		
			
				|  |  | -		if (!g_loadSignalDataSet(signalpath.c_str()))
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			TRACE("加载信号集文件失败\r");
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		else
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			TRACE("加载信号集文件成功\r");
 | 
	
		
			
				|  |  | -			UpdateSignalBtnStatus();
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		// 保存到配置文件中;
 | 
	
		
			
				|  |  | +		Global::g_Config.use_signal = strSignal.GetString();
 | 
	
		
			
				|  |  |  		WritePrivateProfileString("ir-device", "use-signal", strSignal.GetString(), Global::g_szConfig);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	DisableSignalBtn();
 | 
	
		
			
				|  |  | +	ReLoadSignalXml();
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  void CIRControlWnd::SetPropListFont()
 | 
	
	
		
			
				|  | @@ -361,59 +344,130 @@ void CIRControlWnd::SetPropListFont()
 | 
	
		
			
				|  |  |  	//m_wndObjectCombo.SetFont(&m_fntPropList);
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -void CIRControlWnd::LoadSignals()
 | 
	
		
			
				|  |  | +void CIRControlWnd::ReStartIRDevice(std::string signalName)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  | -	filehelper fh;
 | 
	
		
			
				|  |  | -	fh.getfolderfiles((Global::g_Config.signaldir + "\\general\\").c_str(), NULL, &m_vtsignal_gen);
 | 
	
		
			
				|  |  | -	fh.getfolderfiles((Global::g_Config.signaldir + "\\product\\").c_str(), NULL, &m_vtsignal_pro);
 | 
	
		
			
				|  |  | +	std::thread t([&](std::string signal_name) {
 | 
	
		
			
				|  |  | +		// 结束进程;
 | 
	
		
			
				|  |  | +		if (g_CloseApp)
 | 
	
		
			
				|  |  | +			g_CloseApp();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		// 默认加载配置的信号集文件;
 | 
	
		
			
				|  |  | +		std::string signale = Global::g_Config.bGenerics ? Global::g_Config.signaldir + "\\general\\" : Global::g_Config.signaldir + "\\product\\";
 | 
	
		
			
				|  |  | +		signale.append(Global::g_Config.use_signal + ".xml");
 | 
	
		
			
				|  |  | +		if ( !PathFileExists(signale.c_str()) )
 | 
	
		
			
				|  |  | +		{
 | 
	
		
			
				|  |  | +			m_wndSignalCombo.SetCurSel(-1);
 | 
	
		
			
				|  |  | +			signale = ".\\default.xml";
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		else
 | 
	
		
			
				|  |  | +		{
 | 
	
		
			
				|  |  | +			m_wndSignalCombo.SelectString(0, Global::g_Config.use_signal.c_str());
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	// 添加到combobox中;
 | 
	
		
			
				|  |  | -	std::string signalpath;
 | 
	
		
			
				|  |  | -	if (Global::g_Config.bGenerics )
 | 
	
		
			
				|  |  | -	{
 | 
	
		
			
				|  |  | -		signalpath = Global::g_Config.signaldir + "\\general\\";
 | 
	
		
			
				|  |  | +		if (g_StartIRApp(Global::g_Config.redratpath.c_str(), signale.c_str(), 40000))
 | 
	
		
			
				|  |  | +		{
 | 
	
		
			
				|  |  | +			TRACE("启动红老鼠进程启动成功\r");
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		else
 | 
	
		
			
				|  |  | +		{
 | 
	
		
			
				|  |  | +			TRACE("启动红老鼠进程启动失败\r");
 | 
	
		
			
				|  |  | +			AfxMessageBox("启动红老鼠进程启动失败!");
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -		m_wndSignalCombo.ResetContent();
 | 
	
		
			
				|  |  | -		for ( auto it : m_vtsignal_gen)
 | 
	
		
			
				|  |  | +		BOOL bRet = FALSE;
 | 
	
		
			
				|  |  | +		// 连接服务器;
 | 
	
		
			
				|  |  | +		for (int i = 0; i < 5; i++)
 | 
	
		
			
				|  |  |  		{
 | 
	
		
			
				|  |  | -			m_wndSignalCombo.AddString(fh.getfilename(it).c_str());
 | 
	
		
			
				|  |  | +			if ((bRet = g_Connect(_T("127.0.0.1"), 40000)))
 | 
	
		
			
				|  |  | +				break;
 | 
	
		
			
				|  |  | +			Sleep(1000);
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		if (!bRet)
 | 
	
		
			
				|  |  | +			AfxMessageBox("连接红老鼠服务端失败,请重启设备!");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		// 更新按钮状态;
 | 
	
		
			
				|  |  | +		UpdateSignalBtnStatus();
 | 
	
		
			
				|  |  | +		// 获取设备列表,以逗号分隔;
 | 
	
		
			
				|  |  | +		std::string devices = g_getDeviceNames();
 | 
	
		
			
				|  |  | +		if (devices.size() == 0)
 | 
	
		
			
				|  |  | +		{
 | 
	
		
			
				|  |  | +			AfxMessageBox("当前无红老鼠设备连接!");
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | +	}, signalName);
 | 
	
		
			
				|  |  | +	t.detach();
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +void CIRControlWnd::ReLoadSignalXml()
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	std::string signaldir,signalpath;
 | 
	
		
			
				|  |  | +	if (Global::g_Config.bGenerics)
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		signaldir = Global::g_Config.signaldir + "\\general\\";
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  	else
 | 
	
		
			
				|  |  |  	{
 | 
	
		
			
				|  |  | -		signalpath = Global::g_Config.signaldir + "\\product\\";
 | 
	
		
			
				|  |  | -		m_wndSignalCombo.ResetContent();
 | 
	
		
			
				|  |  | -		for (auto it : m_vtsignal_pro)
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			m_wndSignalCombo.AddString(fh.getfilename(it).c_str());
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -	}	
 | 
	
		
			
				|  |  | +		signaldir = Global::g_Config.signaldir + "\\product\\";
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +	signalpath = signaldir;
 | 
	
		
			
				|  |  |  	signalpath.append(Global::g_Config.use_signal + ".xml");
 | 
	
		
			
				|  |  |  	if (!PathFileExists(signalpath.c_str()))
 | 
	
		
			
				|  |  |  	{
 | 
	
		
			
				|  |  | +		AfxMessageBox(_T("该信号文件不存在!"));
 | 
	
		
			
				|  |  | +		// 设置默认的;
 | 
	
		
			
				|  |  |  		CString strSignal;
 | 
	
		
			
				|  |  |  		m_wndSignalCombo.SetCurSel(0);
 | 
	
		
			
				|  |  |  		m_wndSignalCombo.GetLBText(0, strSignal);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -		// 加载指定目录的xml信号集文件;
 | 
	
		
			
				|  |  | -		if (!g_loadSignalDataSet(signalpath.c_str()))
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			TRACE("加载信号集文件失败\r");
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		else
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			TRACE("加载信号集文件成功\r");
 | 
	
		
			
				|  |  | -			UpdateSignalBtnStatus();
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | +		signalpath = signaldir;
 | 
	
		
			
				|  |  | +		signalpath.append(strSignal.GetString());
 | 
	
		
			
				|  |  | +		signalpath.append(".xml");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		// 保存到配置文件中;
 | 
	
		
			
				|  |  | +		Global::g_Config.use_signal = strSignal.GetString();
 | 
	
		
			
				|  |  |  		WritePrivateProfileString("ir-device", "use-signal", strSignal.GetString(), Global::g_szConfig);
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  | -	else
 | 
	
		
			
				|  |  | +	else // 切换通用类型时用到;
 | 
	
		
			
				|  |  |  	{
 | 
	
		
			
				|  |  |  		m_wndSignalCombo.SelectString(0, Global::g_Config.use_signal.c_str());
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 加载指定目录的xml信号集文件;
 | 
	
		
			
				|  |  | +	if (!g_loadSignalDataSet(signalpath.c_str()))
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		TRACE("加载信号集文件失败\r");
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	else
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		TRACE("加载信号集文件成功\r");
 | 
	
		
			
				|  |  | +		UpdateSignalBtnStatus();
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +void CIRControlWnd::LoadSignals()
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	filehelper fh;
 | 
	
		
			
				|  |  | +	fh.getfolderfiles((Global::g_Config.signaldir + "\\general\\").c_str(), NULL, &m_vtsignal_gen);
 | 
	
		
			
				|  |  | +	fh.getfolderfiles((Global::g_Config.signaldir + "\\product\\").c_str(), NULL, &m_vtsignal_pro);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 添加到combobox中;
 | 
	
		
			
				|  |  | +	if (Global::g_Config.bGenerics )
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		m_wndSignalCombo.ResetContent();
 | 
	
		
			
				|  |  | +		for ( auto it : m_vtsignal_gen)
 | 
	
		
			
				|  |  | +		{
 | 
	
		
			
				|  |  | +			m_wndSignalCombo.AddString(fh.getfilename(it).c_str());
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	else
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		m_wndSignalCombo.ResetContent();
 | 
	
		
			
				|  |  | +		for (auto it : m_vtsignal_pro)
 | 
	
		
			
				|  |  | +		{
 | 
	
		
			
				|  |  | +			m_wndSignalCombo.AddString(fh.getfilename(it).c_str());
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +	}	
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  void CIRControlWnd::Loadlayout(std::vector<BtnInfo>& vt)
 | 
	
	
		
			
				|  | @@ -524,7 +578,7 @@ void CIRControlWnd::OnPaint()
 | 
	
		
			
				|  |  |  #endif
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -void CIRControlWnd::OnSignalBtnClick(UINT uId)
 | 
	
		
			
				|  |  | +void CIRControlWnd::OnSignalBtnClick(UINT uId) // 发送遥控信号;
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |  	CWnd* pWnd = GetFocus();
 | 
	
		
			
				|  |  |  	int id = pWnd->GetDlgCtrlID();
 | 
	
	
		
			
				|  | @@ -557,12 +611,12 @@ void CIRControlWnd::OnUpdateCheckBox(CCmdUI* pCmdUI)
 | 
	
		
			
				|  |  |  void CIRControlWnd::OnCheckBoxClicked()
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |  	Global::g_Config.bGenerics = m_wndSignalCheck.IsChecked();
 | 
	
		
			
				|  |  | +	// 保存到配置文件中;
 | 
	
		
			
				|  |  | +	WritePrivateProfileString("ir-device", "generics", Global::g_Config.bGenerics ? "1" : "0", Global::g_szConfig);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	// 添加到combobox中;
 | 
	
		
			
				|  |  | -	std::string signalpath;
 | 
	
		
			
				|  |  |  	if (Global::g_Config.bGenerics)
 | 
	
		
			
				|  |  |  	{
 | 
	
		
			
				|  |  | -		signalpath = Global::g_Config.signaldir + "\\general\\";
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  		m_wndSignalCombo.ResetContent();
 | 
	
		
			
				|  |  |  		for (auto it : m_vtsignal_gen)
 | 
	
		
			
				|  |  |  		{
 | 
	
	
		
			
				|  | @@ -571,41 +625,15 @@ void CIRControlWnd::OnCheckBoxClicked()
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  	else
 | 
	
		
			
				|  |  |  	{
 | 
	
		
			
				|  |  | -		signalpath = Global::g_Config.signaldir + "\\product\\";
 | 
	
		
			
				|  |  |  		m_wndSignalCombo.ResetContent();
 | 
	
		
			
				|  |  |  		for (auto it : m_vtsignal_pro)
 | 
	
		
			
				|  |  |  		{
 | 
	
		
			
				|  |  |  			m_wndSignalCombo.AddString(filehelper::getfilename(it).c_str());
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	signalpath.append(Global::g_Config.use_signal + ".xml");
 | 
	
		
			
				|  |  | -	if (!PathFileExists(signalpath.c_str()))
 | 
	
		
			
				|  |  | -	{
 | 
	
		
			
				|  |  | -		CString strSignal;
 | 
	
		
			
				|  |  | -		m_wndSignalCombo.SetCurSel(0);
 | 
	
		
			
				|  |  | -		m_wndSignalCombo.GetLBText(0, strSignal);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -		// 加载指定目录的xml信号集文件;
 | 
	
		
			
				|  |  | -		if (!g_loadSignalDataSet(signalpath.c_str()))
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			TRACE("加载信号集文件失败\r");
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		else
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			TRACE("加载信号集文件成功\r");
 | 
	
		
			
				|  |  | -			UpdateSignalBtnStatus();
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -		// 保存到配置文件中;
 | 
	
		
			
				|  |  | -		WritePrivateProfileString("ir-device", "use-signal", strSignal.GetString(), Global::g_szConfig);
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | -	else
 | 
	
		
			
				|  |  | -	{
 | 
	
		
			
				|  |  | -		m_wndSignalCombo.SelectString(0, Global::g_Config.use_signal.c_str());
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	WritePrivateProfileString("ir-device", "generics", Global::g_Config.bGenerics ? "1" : "0", Global::g_szConfig);
 | 
	
		
			
				|  |  | +	
 | 
	
		
			
				|  |  | +	DisableSignalBtn();
 | 
	
		
			
				|  |  | +	ReLoadSignalXml();	
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  void CIRControlWnd::OnUpdateBtnRestartProc(CCmdUI* pCmdUI)
 | 
	
	
		
			
				|  | @@ -613,8 +641,12 @@ void CIRControlWnd::OnUpdateBtnRestartProc(CCmdUI* pCmdUI)
 | 
	
		
			
				|  |  |  	pCmdUI->Enable(TRUE);
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -void CIRControlWnd::OnBtnRestartProcClicked()
 | 
	
		
			
				|  |  | +void CIRControlWnd::OnBtnRestartProcClicked() // 重启红老鼠;
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  | +#if 1
 | 
	
		
			
				|  |  | +	DisableSignalBtn();
 | 
	
		
			
				|  |  | +	ReStartIRDevice();
 | 
	
		
			
				|  |  | +#else
 | 
	
		
			
				|  |  |  	// 关闭旧类型进程;
 | 
	
		
			
				|  |  |  	if (g_CloseApp)
 | 
	
		
			
				|  |  |  		g_CloseApp();
 | 
	
	
		
			
				|  | @@ -622,7 +654,7 @@ void CIRControlWnd::OnBtnRestartProcClicked()
 | 
	
		
			
				|  |  |  	// 新启动类型进程;
 | 
	
		
			
				|  |  |  	if (g_StartIRApp)
 | 
	
		
			
				|  |  |  	{
 | 
	
		
			
				|  |  | -		if (g_StartIRApp(Global::g_Config.redratpath.c_str(), (Global::g_Config.signaldir + "\\defualt.xml").c_str(), 40000))
 | 
	
		
			
				|  |  | +		if (g_StartIRApp(Global::g_Config.redratpath.c_str(), ".\\default.xml", 40000))
 | 
	
		
			
				|  |  |  		{
 | 
	
		
			
				|  |  |  			TRACE("启动红老鼠进程启动成功\r");
 | 
	
		
			
				|  |  |  		}
 | 
	
	
		
			
				|  | @@ -658,6 +690,7 @@ void CIRControlWnd::OnBtnRestartProcClicked()
 | 
	
		
			
				|  |  |  		TRACE("加载信号集文件成功\r");
 | 
	
		
			
				|  |  |  		UpdateSignalBtnStatus();
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  void CIRControlWnd::UpdateSignalBtnStatus()
 |