|
@@ -659,7 +659,7 @@ LRESULT CMainWnd::OnInput(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandle
|
|
|
//通过虚拟键盘码得到名字
|
|
//通过虚拟键盘码得到名字
|
|
|
ToAscii(raw->data.keyboard.VKey, raw->data.keyboard.MakeCode, state, (LPWORD)keytext, 0);
|
|
ToAscii(raw->data.keyboard.VKey, raw->data.keyboard.MakeCode, state, (LPWORD)keytext, 0);
|
|
|
|
|
|
|
|
- LOG_INFO("vkey:" << raw->data.keyboard.VKey<<", keytext:"<<keytext);
|
|
|
|
|
|
|
+ //LOG_INFO("vkey:" << raw->data.keyboard.VKey<<", keytext:"<<keytext);
|
|
|
|
|
|
|
|
if (raw->data.keyboard.VKey >= 48 && raw->data.keyboard.VKey <= 122)
|
|
if (raw->data.keyboard.VKey >= 48 && raw->data.keyboard.VKey <= 122)
|
|
|
{
|
|
{
|
|
@@ -681,7 +681,7 @@ LRESULT CMainWnd::OnInput(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandle
|
|
|
|
|
|
|
|
m_catch_string += string(keytext);
|
|
m_catch_string += string(keytext);
|
|
|
|
|
|
|
|
- LOG_INFO("起始字符:" << keytext << ",累积:" << m_catch_string.c_str());
|
|
|
|
|
|
|
+ //LOG_INFO("起始字符:" << keytext << ",累积:" << m_catch_string.c_str());
|
|
|
|
|
|
|
|
m_last_catch_clock = clock();
|
|
m_last_catch_clock = clock();
|
|
|
}
|
|
}
|
|
@@ -693,7 +693,7 @@ LRESULT CMainWnd::OnInput(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandle
|
|
|
double total_t = (double)(now - m_last_catch_clock) / CLOCKS_PER_SEC;
|
|
double total_t = (double)(now - m_last_catch_clock) / CLOCKS_PER_SEC;
|
|
|
if (total_t > 0.05)
|
|
if (total_t > 0.05)
|
|
|
{
|
|
{
|
|
|
- LOG_INFO("发现人工输入");
|
|
|
|
|
|
|
+ //LOG_INFO("发现人工输入");
|
|
|
|
|
|
|
|
//如果超过了50ms,说明是前面一个字符是人工输入的了,不能代表现在这个字符是人工输入的,把之前的字符清空,但是目前的这个字符还是要保存
|
|
//如果超过了50ms,说明是前面一个字符是人工输入的了,不能代表现在这个字符是人工输入的,把之前的字符清空,但是目前的这个字符还是要保存
|
|
|
m_catch_string = "";
|
|
m_catch_string = "";
|
|
@@ -703,7 +703,7 @@ LRESULT CMainWnd::OnInput(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandle
|
|
|
//把当前字符保存下来
|
|
//把当前字符保存下来
|
|
|
m_catch_string += string(keytext);
|
|
m_catch_string += string(keytext);
|
|
|
|
|
|
|
|
- LOG_INFO("起始字符:" << keytext << ",累积:" << m_catch_string.c_str());
|
|
|
|
|
|
|
+ //LOG_INFO("起始字符:" << keytext << ",累积:" << m_catch_string.c_str());
|
|
|
|
|
|
|
|
m_last_catch_clock = clock();
|
|
m_last_catch_clock = clock();
|
|
|
}
|
|
}
|
|
@@ -722,7 +722,7 @@ LRESULT CMainWnd::OnInput(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandle
|
|
|
|
|
|
|
|
m_catch_string += s_keytext;
|
|
m_catch_string += s_keytext;
|
|
|
|
|
|
|
|
- LOG_INFO("抓取字符:" << s_keytext.c_str() << ",累积:" << m_catch_string.c_str());
|
|
|
|
|
|
|
+ //LOG_INFO("抓取字符:" << s_keytext.c_str() << ",累积:" << m_catch_string.c_str());
|
|
|
|
|
|
|
|
m_last_catch_clock = clock();
|
|
m_last_catch_clock = clock();
|
|
|
}
|
|
}
|
|
@@ -740,7 +740,7 @@ LRESULT CMainWnd::OnInput(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandle
|
|
|
double total_t = (double)(now - m_last_catch_clock) / CLOCKS_PER_SEC;
|
|
double total_t = (double)(now - m_last_catch_clock) / CLOCKS_PER_SEC;
|
|
|
if (total_t > 0.05)
|
|
if (total_t > 0.05)
|
|
|
{
|
|
{
|
|
|
- LOG_INFO("抓取enter人工");
|
|
|
|
|
|
|
+ //LOG_INFO("抓取enter人工");
|
|
|
|
|
|
|
|
//如果超过了50ms,说明前面一个字符是人工输入的,那么相当于这次直接输入了一个enter,也没意义
|
|
//如果超过了50ms,说明前面一个字符是人工输入的,那么相当于这次直接输入了一个enter,也没意义
|
|
|
m_is_start_catch = false;
|
|
m_is_start_catch = false;
|
|
@@ -749,7 +749,7 @@ LRESULT CMainWnd::OnInput(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandle
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
- LOG_INFO("抓取enter结束");
|
|
|
|
|
|
|
+ //LOG_INFO("抓取enter结束");
|
|
|
|
|
|
|
|
//这种说明前一个字符和当前字符都是机器输入的,可以判定输入结束
|
|
//这种说明前一个字符和当前字符都是机器输入的,可以判定输入结束
|
|
|
std::string last = m_catch_string;
|
|
std::string last = m_catch_string;
|
|
@@ -776,7 +776,7 @@ LRESULT CMainWnd::OnInput(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandle
|
|
|
//这个是大小写切换的按键,扫描大写字母的时候会用到,每个大写字母都是由2个组成,先来个16,再来个对应小写字母的asicc
|
|
//这个是大小写切换的按键,扫描大写字母的时候会用到,每个大写字母都是由2个组成,先来个16,再来个对应小写字母的asicc
|
|
|
if (m_is_start_catch == false)
|
|
if (m_is_start_catch == false)
|
|
|
{
|
|
{
|
|
|
- LOG_INFO("抓取第1个16");
|
|
|
|
|
|
|
+ //LOG_INFO("抓取第1个16");
|
|
|
//说明第一个字符就是大写字母,暂时还无法判断是机器还是人工输入的,先开启抓取
|
|
//说明第一个字符就是大写字母,暂时还无法判断是机器还是人工输入的,先开启抓取
|
|
|
m_is_start_catch = true;
|
|
m_is_start_catch = true;
|
|
|
|
|
|
|
@@ -794,7 +794,7 @@ LRESULT CMainWnd::OnInput(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandle
|
|
|
double total_t = (double)(now - m_last_catch_clock) / CLOCKS_PER_SEC;
|
|
double total_t = (double)(now - m_last_catch_clock) / CLOCKS_PER_SEC;
|
|
|
if (total_t > 0.05)
|
|
if (total_t > 0.05)
|
|
|
{
|
|
{
|
|
|
- LOG_INFO("抓取16人工");
|
|
|
|
|
|
|
+ //LOG_INFO("抓取16人工");
|
|
|
//如果超过了50ms,只能说明之前的字符是人工输入的,不能代表目前的字符是人工输入的,把之前的清空
|
|
//如果超过了50ms,只能说明之前的字符是人工输入的,不能代表目前的字符是人工输入的,把之前的清空
|
|
|
|
|
|
|
|
m_catch_string = "";
|
|
m_catch_string = "";
|
|
@@ -804,7 +804,7 @@ LRESULT CMainWnd::OnInput(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandle
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
- LOG_INFO("抓取16");
|
|
|
|
|
|
|
+ //LOG_INFO("抓取16");
|
|
|
//这个说明之前的和当前的都是机器输入的
|
|
//这个说明之前的和当前的都是机器输入的
|
|
|
m_is_next_daxie = true;
|
|
m_is_next_daxie = true;
|
|
|
|
|
|
|
@@ -814,7 +814,7 @@ LRESULT CMainWnd::OnInput(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandle
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
- LOG_INFO("抓取结束,重新开始");
|
|
|
|
|
|
|
+ //LOG_INFO("抓取结束,重新开始");
|
|
|
//输入了无意义的字符,这种直接忽略,重新开始
|
|
//输入了无意义的字符,这种直接忽略,重新开始
|
|
|
m_is_start_catch = false;
|
|
m_is_start_catch = false;
|
|
|
|
|
|