📄 screenview.h
字号:
// screenview.h: interface for the CScreenView class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_SCREENVIEW_H__CE4F390B_D8C3_41D4_A361_B3C59F017573__INCLUDED_)
#define AFX_SCREENVIEW_H__CE4F390B_D8C3_41D4_A361_B3C59F017573__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CScreenView : public CDialogImpl<CScreenView>
{
public:
enum { IDD = IDD_SCREENVIEW };
BEGIN_MSG_MAP(CScreenView)
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
MESSAGE_HANDLER(WM_TIMER, OnTimer)
MESSAGE_HANDLER(WM_SIZE, OnSize)
MESSAGE_HANDLER(WM_PAINT, OnPaint)
MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
MESSAGE_HANDLER(WM_SOCKET_READ, OnSocketRead)
MESSAGE_HANDLER(WM_HSCROLL, OnHscroll)
MESSAGE_HANDLER(WM_VSCROLL, OnVscroll)
MESSAGE_HANDLER(WM_LBUTTONDOWN, OnLButtonDown)
MESSAGE_HANDLER(WM_LBUTTONUP, OnLButtonUp)
MESSAGE_HANDLER(WM_MOUSEMOVE, OnMouseMove)
MESSAGE_HANDLER(WM_CONNECT_CREATED, OnConnectCreated)
MESSAGE_HANDLER(WM_CONNECT_CLOSED, OnConnectClosed)
END_MSG_MAP()
LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/);
LRESULT OnTimer(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/);
LRESULT OnSize(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/);
LRESULT OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/);
LRESULT OnDestroy(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/);
LRESULT OnSocketRead(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
LRESULT OnHscroll(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
LRESULT OnVscroll(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
LRESULT OnLButtonDown(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
LRESULT OnLButtonUp(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
LRESULT OnMouseMove(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
LRESULT OnConnectCreated(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
LRESULT OnConnectClosed(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
private:
SOCKET slave_sock;
bool updating;
PSCREENCAP_SCREENBITMAP psb;
BITMAPINFOHEADER bih;
PVOID bScreenBuffer;
int framecount;
int nScreenX;
int nScreenY;
int nLastPackSize;
bool bSetCursor;
int nLastPosX;
int nLastPosY;
void UpdateBuffer(PBYTE src, PBYTE dst, DWORD len, DWORD width);
void XorBuffer(PBYTE src, PBYTE dst, DWORD len);
static int ScreenUpdate(CSockMgr::PPACK_INFO pack, LPVOID param = NULL);
};
#endif // !defined(AFX_SCREENVIEW_H__CE4F390B_D8C3_41D4_A361_B3C59F017573__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -