dlggetpos.cpp
来自「简单的远程控制工具,分为服务器与客户斋,让你了解socket编程的知识.」· C++ 代码 · 共 1,263 行 · 第 1/3 页
CPP
1,263 行
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
UpdateData (TRUE);
m_pDoc->m_nEdtSecond = m_nEdtSecond;
// g_dwDelay = m_nEdtSecond;
}
/*过时
void CDlgGetPos::OnSelendokComboColor()
{
// TODO: Add your control notification handler code here
UpdateData (TRUE);
int nCurSel = m_oCboColors.GetCurSel ();
if (nCurSel > 3)
m_nBits = 24;
else
m_nBits = (int)pow (2,nCurSel);
if (m_nBits == 2)
m_nBits = 4;
m_pDoc->m_nBits = m_nBits;
}
*/
void CDlgGetPos::OnCheckControl()
{
// TODO: Add your control notification handler code here
UpdateData (TRUE);
if (m_bChkControl)
{
if (CmdProc_LogHook() == FALSE) {
AfxMessageBox("建立键盘控制线程出错!!!");
return ;
}
}
else
{
CmdProc_EndHook();
}
}
void CDlgGetPos::OnChangeEditCellsize()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
UpdateData (TRUE);
if (m_nCellSize > 1 && m_nCellSize <= 5000)
m_pDoc->m_nCellSize = m_nCellSize;
else
m_nCellSize = m_pDoc->m_nCellSize;
// UpdateData(TRUE);
}
void CDlgGetPos::OnButtonSend()
{
/* if(pMsg->message == WM_SENDKEY_UP)
{
BYTE vKey,nScan;
vKey = (BYTE) pMsg->wParam;
nScan = (BYTE) (pMsg->lParam & 0x00ff0000)>>16;
m_pDoc->m_dwHookFlags = KEYEVENTF_KEYUP;
m_pDoc->m_dwHookParam1 = vKey;
m_pDoc->m_dwHookParam2 = nScan;
m_pDoc->SendMsg (CMD_KEY_HOOK);
// TODO: Add your control notification handler code here
// TODO: Add your control notification handler code here
if(m_start)
{
KEYMOUSE keymouse;
CPeerSplitterWnd* splitter=(CPeerSplitterWnd*)GetParent();
CScreenView* sctrl=(CScreenView*)splitter->GetPane(1,0);
if(m_ALT)
keymouse.style=PEER_KEY_DOWN;
else
keymouse.style=PEER_KEY_UP;
keymouse.nkey=VK_MENU;
PeerSendDataS(sctrl->s,(char*)&keymouse,sizeof(keymouse),&sctrl->retLen,
sctrl->hEvent);
if(m_CTRL)
keymouse.style=PEER_KEY_DOWN;
else
keymouse.style=PEER_KEY_UP;
keymouse.nkey=VK_CONTROL;
PeerSendDataS(sctrl->s,(char*)&keymouse,sizeof(keymouse),&sctrl->retLen,
sctrl->hEvent);
if(m_SHIFT)
keymouse.style=PEER_KEY_DOWN;
else
keymouse.style=PEER_KEY_UP;
keymouse.nkey=VK_SHIFT;
PeerSendDataS(sctrl->s,(char*)&keymouse,sizeof(keymouse),&sctrl->retLen,
sctrl->hEvent);
if(m_WIN)
keymouse.style=PEER_KEY_DOWN;
else
keymouse.style=PEER_KEY_UP;
keymouse.nkey=VK_LWIN;
PeerSendDataS(sctrl->s,(char*)&keymouse,sizeof(keymouse),&sctrl->retLen,
sctrl->hEvent);
}
*/
}
void CDlgGetPos::OnCheckWin()
{
// TODO: Add your control notification handler code here
UpdateData (TRUE);
if(m_WIN)
m_pDoc->m_dwHookFlags = 0;
else
m_pDoc->m_dwHookFlags = KEYEVENTF_KEYUP;
m_pDoc->m_dwHookParam1 = VK_LWIN;
m_pDoc->m_dwHookParam2 = 0;
SendMsg (CMD_KEY_HOOK);
}
void CDlgGetPos::OnCheckCtrl()
{
// TODO: Add your control notification handler code here
UpdateData (TRUE);
if (m_CTRL)
m_pDoc->m_dwHookFlags = 0;
else
m_pDoc->m_dwHookFlags = KEYEVENTF_KEYUP;
m_pDoc->m_dwHookFlags = 0;
m_pDoc->m_dwHookParam2 = 0;
m_pDoc->m_dwHookParam1 = VK_CONTROL;
// m_pDoc->SendMsg (CMD_KEY_HOOK);
SendMsg (CMD_KEY_HOOK);
}
void CDlgGetPos::OnCheckAlt()
{
// TODO: Add your control notification handler code here
UpdateData (TRUE);
if(m_ALT)
m_pDoc->m_dwHookFlags = 0;
else
m_pDoc->m_dwHookFlags = KEYEVENTF_KEYUP;
m_pDoc->m_dwHookParam1 = VK_MENU;
m_pDoc->m_dwHookParam2 = 0;
// m_pDoc->SendMsg (CMD_KEY_HOOK);
SendMsg (CMD_KEY_HOOK);
}
void CDlgGetPos::OnCheckShift()
{
// TODO: Add your control notification handler code here
UpdateData (TRUE);
if(m_SHIFT)
m_pDoc->m_dwHookFlags = 0;
else
m_pDoc->m_dwHookFlags = KEYEVENTF_KEYUP;
m_pDoc->m_dwHookParam1 = VK_SHIFT;
m_pDoc->m_dwHookParam2 = 0;
// m_pDoc->SendMsg (CMD_KEY_HOOK);
SendMsg (CMD_KEY_HOOK);
}
void CDlgGetPos::OnButtonCad()
{
// TODO: Add your control notification handler code here
// m_pDoc->SendMsg (CMD_KEY_CAD);
SendMsg (CMD_KEY_CAD);
}
//选择彩色位数
void CDlgGetPos::OnSelendokComboColors()
{
// TODO: Add your control notification handler code here
UpdateData (TRUE);
int nCurSel = m_oCboColors.GetCurSel();
if (nCurSel > 3)
{
m_pDoc->m_nBits = 24;
}
else
{
m_nBits = (int)pow (2,nCurSel);
if (m_nBits == 2)
m_nBits = 4;
m_pDoc->m_nBits = m_nBits;
}
}
//右双击
void CDlgGetPos::OnRButtonDblClk(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
if(!m_bChkControl)
CDialog::OnRButtonDblClk(nFlags, point);
fnSendPos(CMD_MOUSE_DBHOOK, CMD_MOUSE_RDBCLICK,
point);
}
//左双击
void CDlgGetPos::OnLButtonDblClk(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
if(!m_bChkControl)
CDialog::OnLButtonDblClk(nFlags, point);
fnSendPos(CMD_MOUSE_DBHOOK, CMD_MOUSE_LDBCLICK,
point);
}
//选择抓图区域
void CDlgGetPos::OnSelendokComboArea()
{
// TODO: Add your control notification handler code here
// TODO: Add your control notification handler code here
UpdateData (TRUE);
m_pDoc->m_nArea = m_oCboArea.GetCurSel();
}
void CDlgGetPos::OnSelendokComboCompress()
{
// TODO: Add your control notification handler code here
UpdateData (TRUE);
m_pDoc->m_nCompress = m_oCboCompress.GetCurSel();
}
void CDlgGetPos::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: Add your message handler code here and/or call default
int iCurrent;
if( pScrollBar == &m_vScrollBar)
{ switch(nSBCode)
{ case SB_THUMBPOSITION: //释放滚动块
m_vScrollBar.SetScrollPos(nPos);
break;
case SB_LINEDOWN: //击滚动条右箭头
iCurrent = m_vScrollBar.GetScrollPos();
iCurrent++;
if(iCurrent>m_vScrollBar.GetScrollLimit())
iCurrent=m_vScrollBar.GetScrollLimit();
m_vScrollBar.SetScrollPos(iCurrent);
break;
case SB_LINEUP: //击滚动条左箭头
iCurrent = m_vScrollBar.GetScrollPos();
iCurrent--;
if(iCurrent<0) iCurrent=0;
m_vScrollBar.SetScrollPos(iCurrent);
break;
case SB_PAGEDOWN: //击滚动块右边空白区
iCurrent = m_vScrollBar.GetScrollPos();
iCurrent = iCurrent + 20;
if(iCurrent>m_vScrollBar.GetScrollLimit())
iCurrent=m_vScrollBar.GetScrollLimit();
m_vScrollBar.SetScrollPos(iCurrent);
break;
case SB_PAGEUP: //击滚动块左边空白区
iCurrent = m_vScrollBar.GetScrollPos();
iCurrent = iCurrent - 20;
if(iCurrent<0) iCurrent=0;
m_vScrollBar.SetScrollPos(iCurrent);
break;
} // switch结束
Set_BackGroud_Image();
} // if结束
CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
}
void CDlgGetPos::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: Add your message handler code here and/or call default
int iCurrent;
if( pScrollBar == &m_hScrollBar)
{ switch(nSBCode)
{ case SB_THUMBPOSITION: //释放滚动块
m_hScrollBar.SetScrollPos(nPos);
//itoa(m_hScrollBar.GetScrollPos(),sPos,10);
//m_Editbox.SetSel(0,-1);
//m_Editbox.ReplaceSel(sPos);
break;
case SB_LINEDOWN: //击滚动条右箭头
iCurrent = m_hScrollBar.GetScrollPos();
iCurrent++;
if(iCurrent>m_hScrollBar.GetScrollLimit())
iCurrent=m_hScrollBar.GetScrollLimit();
m_hScrollBar.SetScrollPos(iCurrent);
//itoa(m_Scrollbar.GetScrollPos(),sPos,10);
//m_Editbox.SetSel(0,-1);
//m_Editbox.ReplaceSel(sPos);
break;
case SB_LINEUP: //击滚动条左箭头
iCurrent = m_hScrollBar.GetScrollPos();
iCurrent--;
if(iCurrent<0) iCurrent=0;
m_hScrollBar.SetScrollPos(iCurrent);
//itoa(m_Scrollbar.GetScrollPos(),sPos,10);
//m_Editbox.SetSel(0,-1);
//m_Editbox.ReplaceSel(sPos);
break;
case SB_PAGEDOWN: //击滚动块右边空白区
iCurrent = m_hScrollBar.GetScrollPos();
iCurrent = iCurrent + 20;
if(iCurrent>m_hScrollBar.GetScrollLimit())
iCurrent=m_hScrollBar.GetScrollLimit();
m_hScrollBar.SetScrollPos(iCurrent);
//itoa(m_Scrollbar.GetScrollPos(),sPos,10);
//m_Editbox.SetSel(0,-1);
//m_Editbox.ReplaceSel(sPos);
break;
case SB_PAGEUP: //击滚动块左边空白区
iCurrent = m_hScrollBar.GetScrollPos();
iCurrent = iCurrent - 20;
if(iCurrent<0) iCurrent=0;
m_hScrollBar.SetScrollPos(iCurrent);
//itoa(m_Scrollbar.GetScrollPos(),sPos,10);
//m_Editbox.SetSel(0,-1);
//m_Editbox.ReplaceSel(sPos);
break;
} // switch结束
Set_BackGroud_Image();
} // if结束
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}
void CDlgGetPos::OnRButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
if(!m_bChkContinue)
CDialog::OnRButtonDown(nFlags, point);
fnSendPos(CMD_MOUSE_HOOK,MOUSEEVENTF_RIGHTDOWN,
point);
}
void CDlgGetPos::OnRButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
if(!m_bChkContinue)
CDialog::OnRButtonUp(nFlags, point);
fnSendPos(CMD_MOUSE_HOOK, MOUSEEVENTF_RIGHTUP,
point);
}
void CDlgGetPos::fnSendPos(UINT wCmd, DWORD dwFlags, CPoint point)
{
UpdateData (TRUE);
CRect rcArea;
CWnd* pWnd = ChildWindowFromPoint(point);
if (pWnd && pWnd->GetSafeHwnd() == m_oStaArea.GetSafeHwnd())
{
m_oStaArea.GetWindowRect (&rcArea);
m_ptStart = point;
ClientToScreen (&point);
point.x = point.x - rcArea.left+m_hScrollBar.GetScrollPos();
point.y = point.y - rcArea.top+m_vScrollBar.GetScrollPos();
//发送移动命令
/* m_pDoc->m_dwHookFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE;
m_pDoc->m_dwHookParam1 = point.x;
m_pDoc->m_dwHookParam2 = point.y;
SendMsg (CMD_MOUSE_HOOK);
*/
//发送击键命令
m_pDoc->m_dwHookFlags = dwFlags;
m_pDoc->m_dwHookParam1 = point.x;
m_pDoc->m_dwHookParam2 = point.y;
SendMsg (wCmd);
}
}
void CDlgGetPos::OnCheckLock()
{
// TODO: Add your control notification handler code here
UpdateData (TRUE);
m_pDoc->m_dwHookFlags = m_bLock;
SendMsg (CMD_LOCK_SCREEN);
}
void CDlgGetPos::OnReleasedcaptureQuality(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
// UpdateData (TRUE);
m_pDoc->m_nJpegQ = m_SliderQ.GetPos();
*pResult = 0;
}
void CDlgGetPos::OnButtonReconnect()
{
/* int old = m_pDoc->m_nEdtSecond;
m_pDoc->m_nEdtSecond = 2000;
CmdProc_SysEndLogImage();
m_pDoc->m_nEdtSecond = old;
Sleep(500);
*/
CDialog::OnOK();
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?