|
@@ -27,6 +27,10 @@ void CValueWnd::Init()
|
|
|
//抢焦点
|
|
//抢焦点
|
|
|
std::thread(&CValueWnd::TopMostWnd, this).detach();
|
|
std::thread(&CValueWnd::TopMostWnd, this).detach();
|
|
|
|
|
|
|
|
|
|
+ //注册组合键
|
|
|
|
|
+ int nRet = RegisterHotKey(m_hWnd, 1, MOD_CONTROL, 'D');
|
|
|
|
|
+ int b = nRet;
|
|
|
|
|
+
|
|
|
//添加托盘图标
|
|
//添加托盘图标
|
|
|
AddTrayIcon();
|
|
AddTrayIcon();
|
|
|
|
|
|
|
@@ -59,7 +63,7 @@ void CValueWnd::Init()
|
|
|
m_tess.SetVariable("save_best_choices", "T");
|
|
m_tess.SetVariable("save_best_choices", "T");
|
|
|
|
|
|
|
|
//再安装钩子
|
|
//再安装钩子
|
|
|
- //BOOL ret = InstallHook();
|
|
|
|
|
|
|
+ BOOL ret = InstallHook();
|
|
|
|
|
|
|
|
//开始启动监听
|
|
//开始启动监听
|
|
|
RestartWatch();
|
|
RestartWatch();
|
|
@@ -221,6 +225,7 @@ void CValueWnd::WatchWnd()
|
|
|
|
|
|
|
|
if(value != m_watchValue)
|
|
if(value != m_watchValue)
|
|
|
{
|
|
{
|
|
|
|
|
+ //保存下来窗口获取到的值
|
|
|
m_watchValue = value;
|
|
m_watchValue = value;
|
|
|
|
|
|
|
|
SendMessage(WM_WATCH_WND_UPDATE, NULL, NULL);
|
|
SendMessage(WM_WATCH_WND_UPDATE, NULL, NULL);
|
|
@@ -304,6 +309,8 @@ void CValueWnd::StartOcrWork()
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
std::string format_value = CLewaimaiString::DoubleToString(atof(ocr_result.c_str()), 2);
|
|
std::string format_value = CLewaimaiString::DoubleToString(atof(ocr_result.c_str()), 2);
|
|
|
|
|
+ m_watchValue = format_value;
|
|
|
|
|
+
|
|
|
std::wstring ws_ocr_result = CLewaimaiString::UTF8ToUnicode(format_value);
|
|
std::wstring ws_ocr_result = CLewaimaiString::UTF8ToUnicode(format_value);
|
|
|
|
|
|
|
|
CLabelUI* valueLabel = static_cast<CLabelUI*>(m_pm.FindControl(_T("value")));
|
|
CLabelUI* valueLabel = static_cast<CLabelUI*>(m_pm.FindControl(_T("value")));
|
|
@@ -429,6 +436,12 @@ LRESULT CValueWnd::OnRButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL&
|
|
|
return 0;
|
|
return 0;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+LRESULT CValueWnd::OnKeyDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
|
|
|
|
+{
|
|
|
|
|
+ bHandled = FALSE;
|
|
|
|
|
+ return 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
LRESULT CValueWnd::OnKexianUpdate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
|
LRESULT CValueWnd::OnKexianUpdate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
|
|
{
|
|
{
|
|
|
//如果当前不是串口模式,直接忽略
|
|
//如果当前不是串口模式,直接忽略
|
|
@@ -521,6 +534,14 @@ LRESULT CValueWnd::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
|
|
|
lRes = OnWatchWndUpdate(uMsg, wParam, lParam, bHandled);
|
|
lRes = OnWatchWndUpdate(uMsg, wParam, lParam, bHandled);
|
|
|
break;
|
|
break;
|
|
|
|
|
|
|
|
|
|
+ case WM_HOTKEY:
|
|
|
|
|
+ lRes = OnHotKey(uMsg, wParam, lParam, bHandled);
|
|
|
|
|
+ break;
|
|
|
|
|
+
|
|
|
|
|
+ case WM_KEYDOWN:
|
|
|
|
|
+ lRes = OnKeyDown(uMsg, wParam, lParam, bHandled);
|
|
|
|
|
+ break;
|
|
|
|
|
+
|
|
|
default:
|
|
default:
|
|
|
bHandled = FALSE;
|
|
bHandled = FALSE;
|
|
|
}
|
|
}
|
|
@@ -564,7 +585,11 @@ void CValueWnd::ShowShoukuan()
|
|
|
m_shoukuanWnd = pShoukuanWnd;
|
|
m_shoukuanWnd = pShoukuanWnd;
|
|
|
m_shoukuanHWND = pShoukuanWnd->GetHWND();
|
|
m_shoukuanHWND = pShoukuanWnd->GetHWND();
|
|
|
|
|
|
|
|
- //pShoukuanWnd->InitMoney(L"0.01");
|
|
|
|
|
|
|
+ //只要金额不为0,就初始化
|
|
|
|
|
+ if (atof(m_watchValue.c_str()) > 0.001)
|
|
|
|
|
+ {
|
|
|
|
|
+ pShoukuanWnd->InitMoney(CLewaimaiString::UTF8ToUnicode(m_watchValue));
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
UINT ret = pShoukuanWnd->ShowModal();
|
|
UINT ret = pShoukuanWnd->ShowModal();
|
|
|
|
|
|
|
@@ -613,6 +638,22 @@ LRESULT CValueWnd::OnTrayIcon(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHa
|
|
|
return 0;
|
|
return 0;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+LRESULT CValueWnd::OnHotKey(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
|
|
|
|
+{
|
|
|
|
|
+ UINT fuModifiers = (UINT)LOWORD(lParam);
|
|
|
|
|
+ UINT uVirtKey = (UINT)HIWORD(lParam);
|
|
|
|
|
+
|
|
|
|
|
+ //判断响应了什么热键
|
|
|
|
|
+ if (MOD_CONTROL == fuModifiers && 'D' == uVirtKey)
|
|
|
|
|
+ {
|
|
|
|
|
+ //按了CTRL + D
|
|
|
|
|
+ ShowShoukuan();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ bHandled = TRUE;
|
|
|
|
|
+ return 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
void CValueWnd::ShowSystemSetting()
|
|
void CValueWnd::ShowSystemSetting()
|
|
|
{
|
|
{
|
|
|
//先隐藏目录
|
|
//先隐藏目录
|
|
@@ -696,6 +737,8 @@ void CValueWnd::UpdateKexian(const char* data, int length)
|
|
|
CLabelUI* valueLabel = static_cast<CLabelUI*>(m_pm.FindControl(_T("value")));
|
|
CLabelUI* valueLabel = static_cast<CLabelUI*>(m_pm.FindControl(_T("value")));
|
|
|
|
|
|
|
|
std::string money_show = CLewaimaiString::DoubleToString(atof(money.c_str()), 2);
|
|
std::string money_show = CLewaimaiString::DoubleToString(atof(money.c_str()), 2);
|
|
|
|
|
+ m_watchValue = money_show;
|
|
|
|
|
+
|
|
|
valueLabel->SetText(CLewaimaiString::UTF8ToUnicode(money_show).c_str());
|
|
valueLabel->SetText(CLewaimaiString::UTF8ToUnicode(money_show).c_str());
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
@@ -709,6 +752,8 @@ void CValueWnd::UpdateKexian(const char* data, int length)
|
|
|
CLabelUI* valueLabel = static_cast<CLabelUI*>(m_pm.FindControl(_T("value")));
|
|
CLabelUI* valueLabel = static_cast<CLabelUI*>(m_pm.FindControl(_T("value")));
|
|
|
|
|
|
|
|
std::string money_show = CLewaimaiString::DoubleToString(atof(money.c_str()), 2);
|
|
std::string money_show = CLewaimaiString::DoubleToString(atof(money.c_str()), 2);
|
|
|
|
|
+ m_watchValue = money_show;
|
|
|
|
|
+
|
|
|
valueLabel->SetText(CLewaimaiString::UTF8ToUnicode(money_show).c_str());
|
|
valueLabel->SetText(CLewaimaiString::UTF8ToUnicode(money_show).c_str());
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
@@ -785,10 +830,17 @@ void CValueWnd::ShowTrayMenu()
|
|
|
POINT pt;
|
|
POINT pt;
|
|
|
GetCursorPos(&pt);
|
|
GetCursorPos(&pt);
|
|
|
|
|
|
|
|
|
|
+ CRect rect;
|
|
|
|
|
+ GetWindowRect(pMenu->GetHWND(), &rect);
|
|
|
|
|
+
|
|
|
|
|
+ int height = rect.bottom - rect.top;
|
|
|
|
|
+
|
|
|
//显示目录
|
|
//显示目录
|
|
|
- ::SetWindowPos(pMenu->GetHWND(), HWND_NOTOPMOST, pt.x, pt.y - 15 - 380, 0, 0, SWP_NOSIZE | SWP_NOACTIVATE);
|
|
|
|
|
|
|
+ ::SetWindowPos(pMenu->GetHWND(), HWND_NOTOPMOST, pt.x, pt.y - 15 - height, 0, 0, SWP_NOSIZE | SWP_NOACTIVATE);
|
|
|
pMenu->ShowWindow(true);
|
|
pMenu->ShowWindow(true);
|
|
|
|
|
|
|
|
|
|
+ SetFocus(pMenu->GetHWND());
|
|
|
|
|
+
|
|
|
//右击后点别地可以清除“右击出来的菜单”
|
|
//右击后点别地可以清除“右击出来的菜单”
|
|
|
SetForegroundWindow(pMenu->GetHWND());
|
|
SetForegroundWindow(pMenu->GetHWND());
|
|
|
}
|
|
}
|