完善远程控制追踪鼠标

This commit is contained in:
yuanyuanxiang
2019-01-20 20:04:11 +08:00
parent e4793a489e
commit 5aadfc13a6
23 changed files with 143 additions and 109 deletions

View File

@@ -37,7 +37,7 @@ CScreenSpyDlg::CScreenSpyDlg(CWnd* Parent, IOCPServer* IOCPServer, CONTEXT_OBJEC
GetSystemDirectory(szFullPath, MAX_PATH);
lstrcat(szFullPath, "\\shell32.dll"); //ͼ<><CDBC>
m_hIcon = ExtractIcon(AfxGetApp()->m_hInstance, szFullPath, 17);
m_hCursor = LoadCursor(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDC_ARROW));
m_hCursor = LoadCursor(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDC_ARROWS));
sockaddr_in ClientAddr;
memset(&ClientAddr, 0, sizeof(ClientAddr));
@@ -231,12 +231,13 @@ VOID CScreenSpyDlg::DrawNextScreenDiff(void)
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>
BYTE bOldCursorIndex;
memcpy(&bOldCursorIndex, &m_bCursorIndex, sizeof(BYTE));
memcpy(&m_bCursorIndex, m_ContextObject->InDeCompressedBuffer.GetBuffer(2+sizeof(POINT)), sizeof(BYTE));
BYTE bOldCursorIndex = m_bCursorIndex;
m_bCursorIndex = m_ContextObject->InDeCompressedBuffer.GetBuffer(2+sizeof(POINT))[0];
if (bOldCursorIndex != m_bCursorIndex)
{
bChange = TRUE;
if (m_bIsCtrl && !m_bIsTraceCursor)//<2F>滻ָ<E6BBBB><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WNDCLASSEX<45>
SetClassLong(m_hWnd, GCL_HCURSOR, (LONG)m_CursorInfo.getCursorHandle(m_bCursorIndex == (BYTE)-1 ? 1 : m_bCursorIndex));
}
// <20><>Ļ<EFBFBD>Ƿ<EFBFBD><C7B7>
@@ -298,7 +299,7 @@ void CScreenSpyDlg::OnPaint()
m_hFullDC,
m_ClientCursorPos.x - m_ulHScrollPos,
m_ClientCursorPos.y - m_ulVScrollPos,
m_hCursor,
m_CursorInfo.getCursorHandle(m_bCursorIndex == (BYTE)-1 ? 1 : m_bCursorIndex),
0,0,
0,
NULL,
@@ -413,6 +414,8 @@ BOOL CScreenSpyDlg::PreTranslateMessage(MSG* pMsg)
case WM_KEYUP:
case WM_SYSKEYDOWN:
case WM_SYSKEYUP:
if (pMsg->wParam == VK_F11 && LeaveFullScreen()) // F11: <20>˳<EFBFBD>ȫ<EFBFBD><C8AB>
return true;
if (pMsg->wParam != VK_LWIN && pMsg->wParam != VK_RWIN)
{
MSG Msg;
@@ -423,9 +426,7 @@ BOOL CScreenSpyDlg::PreTranslateMessage(MSG* pMsg)
SendCommand(&Msg);
}
if (pMsg->wParam == VK_RETURN || pMsg->wParam == VK_ESCAPE)
return true;
if (pMsg->wParam == VK_F11) // <20>˳<EFBFBD>ȫ<EFBFBD><C8AB>
LeaveFullScreen();
return true;// <20><><EFBFBD><EFBFBD>Enter<65><72>ESC<53>رնԻ<D5B6>
break;
}
@@ -647,8 +648,8 @@ void CScreenSpyDlg::EnterFullScreen()
}
}
void CScreenSpyDlg::LeaveFullScreen()
// ȫ<><C8AB><EFBFBD>˳<EFBFBD><CBB3>ɹ<EFBFBD><C9B9>򷵻<EFBFBD>true
bool CScreenSpyDlg::LeaveFullScreen()
{
if (m_bFullScreen)
{
@@ -656,7 +657,9 @@ void CScreenSpyDlg::LeaveFullScreen()
CMenu *SysMenu = GetSystemMenu(FALSE);
SysMenu->CheckMenuItem(IDM_FULLSCREEN, MF_UNCHECKED); //<2F>˵<EFBFBD><CBB5><EFBFBD>ʽ
m_bFullScreen = false;
return true;
}
return false;
}
void CScreenSpyDlg::OnLButtonDown(UINT nFlags, CPoint point)