|
@@ -120,12 +120,12 @@ void CIRControlWnd::AdjustLayout()
|
|
|
CRect rectClient;
|
|
|
GetClientRect(rectClient);
|
|
|
|
|
|
- m_btnRestart.SetWindowPos(nullptr, rectClient.left + 5, rectClient.top + 5, 180, m_nComboHeight, SWP_NOACTIVATE | SWP_NOZORDER);
|
|
|
- m_wndSignalCheck.SetWindowPos(nullptr, rectClient.left + 190, rectClient.top + 5, 150, m_nComboHeight, SWP_NOACTIVATE | SWP_NOZORDER);
|
|
|
+ m_btnRestart.SetWindowPos(nullptr, rectClient.left + 5, rectClient.top + 5, 120, m_nComboHeight, SWP_NOACTIVATE | SWP_NOZORDER);
|
|
|
+ m_wndSignalCheck.SetWindowPos(nullptr, rectClient.left + 130, rectClient.top + 5, 120, m_nComboHeight, SWP_NOACTIVATE | SWP_NOZORDER);
|
|
|
|
|
|
- m_wndSignalCombo.SetWindowPos(nullptr, rectClient.left + 5, rectClient.top + m_nComboHeight + 10, rectClient.Width() - 10, m_nComboHeight + 210, SWP_NOACTIVATE | SWP_NOZORDER);
|
|
|
+ m_wndSignalCombo.SetWindowPos(nullptr, rectClient.left + 5, rectClient.top + m_nComboHeight + 10, 245, m_nComboHeight + 210, SWP_NOACTIVATE | SWP_NOZORDER);
|
|
|
#if __PANE_DLG__
|
|
|
- m_dlgIRControl.SetWindowPos(nullptr, rectClient.left, rectClient.top + m_nComboHeight, rectClient.Width(), rectClient.Height(), SWP_NOACTIVATE | SWP_NOZORDER);
|
|
|
+ m_dlgIRControl.SetWindowPos(nullptr, rectClient.left, rectClient.top + m_nComboHeight + 50, rectClient.Width(), rectClient.Height(), SWP_NOACTIVATE);
|
|
|
#endif
|
|
|
}
|
|
|
|
|
@@ -140,7 +140,7 @@ int CIRControlWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
|
|
|
// 创建组合:
|
|
|
const DWORD dwViewStyle = WS_CHILD | WS_VISIBLE | CBS_DROPDOWNLIST | WS_BORDER | CBS_SORT | WS_CLIPSIBLINGS | WS_CLIPCHILDREN;
|
|
|
|
|
|
- if (!m_btnRestart.Create(_T("重启遥控器服务端进程"), WS_CHILD | WS_VISIBLE, rectDummy, this, ID_BUTTON_RESTART_PROC))
|
|
|
+ if (!m_btnRestart.Create(_T("重启遥控器服务进程"), WS_CHILD | WS_VISIBLE, rectDummy, this, ID_BUTTON_RESTART_PROC))
|
|
|
{
|
|
|
TRACE0("未能创建遥控器组合 \n");
|
|
|
return -1; // 未能创建
|
|
@@ -183,7 +183,7 @@ int CIRControlWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
|
|
|
Loadlayout(m_vtBtnInfo);
|
|
|
#endif
|
|
|
// 设置最小窗体;
|
|
|
- SetMinSize((350, 420));
|
|
|
+ SetMinSize((530, 260));
|
|
|
|
|
|
// 校正布局;
|
|
|
AdjustLayout();
|
|
@@ -195,54 +195,8 @@ int CIRControlWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
|
|
|
AfxMessageBox("加载遥控dll失败,请检测dll是否正常!");
|
|
|
}
|
|
|
|
|
|
-#if 1
|
|
|
- ReStartIRDevice();
|
|
|
-#else
|
|
|
- // 启动服务;
|
|
|
- if (g_IsAppRunning(Global::g_Config.redratpath.c_str()))
|
|
|
- {
|
|
|
- TRACE("启动红老鼠进程已运行\r");
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- TRACE("启动红老鼠进程未运行\r");
|
|
|
- if (g_StartIRApp(Global::g_Config.redratpath.c_str(), ".\\default.xml", 40000))
|
|
|
- {
|
|
|
- TRACE("启动红老鼠进程启动成功\r");
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- TRACE("启动红老鼠进程启动失败\r");
|
|
|
- AfxMessageBox("启动红老鼠进程启动失败!");
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- Sleep(3500); // 等待进程启动完全;
|
|
|
- // 连接服务器;
|
|
|
- if (!g_Connect(_T("127.0.0.1"), 40000))
|
|
|
- AfxMessageBox("连接红老鼠服务端失败,请重启设备!");
|
|
|
-
|
|
|
- UpdateSignalBtnStatus();
|
|
|
- // 获取设备列表,以逗号分隔;
|
|
|
- std::string devices = g_getDeviceNames();
|
|
|
- if (devices.size() == 0)
|
|
|
- {
|
|
|
- AfxMessageBox("当前无红老鼠设备连接!");
|
|
|
- }
|
|
|
+ StartIRDevice(FALSE);
|
|
|
|
|
|
- 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");
|
|
|
- // 加载指定目录的xml信号集文件;
|
|
|
- if (!g_loadSignalDataSet(signale.c_str()))
|
|
|
- {
|
|
|
- TRACE("加载信号集文件失败\r");
|
|
|
- AfxMessageBox("加载信号集文件失败!");
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- TRACE("加载信号集文件成功\r");
|
|
|
- }
|
|
|
-#endif
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -344,17 +298,17 @@ void CIRControlWnd::SetPropListFont()
|
|
|
//m_wndObjectCombo.SetFont(&m_fntPropList);
|
|
|
}
|
|
|
|
|
|
-void CIRControlWnd::ReStartIRDevice(std::string signalName)
|
|
|
+void CIRControlWnd::StartIRDevice(BOOL bReStart)
|
|
|
{
|
|
|
- std::thread t([&](std::string signal_name) {
|
|
|
+ std::thread t([&](BOOL _bReStart_) {
|
|
|
// 结束进程;
|
|
|
- if (g_CloseApp)
|
|
|
+ if (_bReStart_ && 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()) )
|
|
|
+ if (!PathFileExists(signale.c_str()))
|
|
|
{
|
|
|
m_wndSignalCombo.SetCurSel(-1);
|
|
|
signale = ".\\default.xml";
|
|
@@ -364,14 +318,17 @@ void CIRControlWnd::ReStartIRDevice(std::string signalName)
|
|
|
m_wndSignalCombo.SelectString(0, Global::g_Config.use_signal.c_str());
|
|
|
}
|
|
|
|
|
|
- if (g_StartIRApp(Global::g_Config.redratpath.c_str(), signale.c_str(), 40000))
|
|
|
+ if ( g_IsAppRunning(Global::g_Config.redratpath.c_str()))
|
|
|
{
|
|
|
- TRACE("启动红老鼠进程启动成功\r");
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- TRACE("启动红老鼠进程启动失败\r");
|
|
|
- AfxMessageBox("启动红老鼠进程启动失败!");
|
|
|
+ if (g_StartIRApp(Global::g_Config.redratpath.c_str(), signale.c_str(), 40000))
|
|
|
+ {
|
|
|
+ TRACE("启动红老鼠进程启动成功\r");
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ TRACE("启动红老鼠进程启动失败\r");
|
|
|
+ AfxMessageBox("启动红老鼠进程启动失败!");
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
BOOL bRet = FALSE;
|
|
@@ -394,7 +351,7 @@ void CIRControlWnd::ReStartIRDevice(std::string signalName)
|
|
|
{
|
|
|
AfxMessageBox("当前无红老鼠设备连接!");
|
|
|
}
|
|
|
- }, signalName);
|
|
|
+ }, bReStart);
|
|
|
t.detach();
|
|
|
}
|
|
|
|
|
@@ -530,7 +487,7 @@ void CIRControlWnd::Loadlayout(std::vector<BtnInfo>& vt)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- int sx = 0, sy = 80;
|
|
|
+ int sx = 0, sy = 65;
|
|
|
int i = 0, id = 10000;
|
|
|
DWORD dwStyle = WS_CHILD | WS_VISIBLE;
|
|
|
for (std::vector<BtnInfo>::iterator it = vt.begin(); it != vt.end(); it++)
|
|
@@ -569,13 +526,11 @@ void CIRControlWnd::OnPaint()
|
|
|
CPaintDC dc(this); // device context for painting
|
|
|
// TODO: 在此处添加消息处理程序代码
|
|
|
// 不为绘图消息调用 CDockablePane::OnPaint();
|
|
|
-#if !__PANE_DLG__
|
|
|
CRect rc;
|
|
|
GetClientRect(rc);
|
|
|
CBrush brush;
|
|
|
brush.CreateSolidBrush(0xFFEFD5);
|
|
|
dc.FillRect(&rc, &brush);
|
|
|
-#endif
|
|
|
}
|
|
|
|
|
|
void CIRControlWnd::OnSignalBtnClick(UINT uId) // 发送遥控信号;
|
|
@@ -643,54 +598,8 @@ void CIRControlWnd::OnUpdateBtnRestartProc(CCmdUI* pCmdUI)
|
|
|
|
|
|
void CIRControlWnd::OnBtnRestartProcClicked() // 重启红老鼠;
|
|
|
{
|
|
|
-#if 1
|
|
|
DisableSignalBtn();
|
|
|
- ReStartIRDevice();
|
|
|
-#else
|
|
|
- // 关闭旧类型进程;
|
|
|
- if (g_CloseApp)
|
|
|
- g_CloseApp();
|
|
|
-
|
|
|
- // 新启动类型进程;
|
|
|
- if (g_StartIRApp)
|
|
|
- {
|
|
|
- if (g_StartIRApp(Global::g_Config.redratpath.c_str(), ".\\default.xml", 40000))
|
|
|
- {
|
|
|
- TRACE("启动红老鼠进程启动成功\r");
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- TRACE("启动红老鼠进程启动失败\r");
|
|
|
- AfxMessageBox("启动红老鼠进程启动失败!");
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- Sleep(5500); // 等待进程启动完全;
|
|
|
- // 连接服务器;
|
|
|
- if (!g_Connect(_T("127.0.0.1"), 40000))
|
|
|
- AfxMessageBox("连接红老鼠服务端失败,请重启设备!");
|
|
|
-
|
|
|
- // 获取设备列表,以逗号分隔;
|
|
|
- std::string devices = g_getDeviceNames();
|
|
|
- if (devices.size() == 0)
|
|
|
- {
|
|
|
- AfxMessageBox("当前无红老鼠设备连接!");
|
|
|
- }
|
|
|
-
|
|
|
- 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");
|
|
|
- // 加载指定目录的xml信号集文件;
|
|
|
- if (!g_loadSignalDataSet(signale.c_str()))
|
|
|
- {
|
|
|
- TRACE("加载信号集文件失败\r");
|
|
|
- AfxMessageBox("加载信号集文件失败!");
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- TRACE("加载信号集文件成功\r");
|
|
|
- UpdateSignalBtnStatus();
|
|
|
- }
|
|
|
-#endif
|
|
|
+ StartIRDevice();
|
|
|
}
|
|
|
|
|
|
void CIRControlWnd::UpdateSignalBtnStatus()
|