⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 screenview.h

📁 远程控制系统,可以实现局域网内进行远程控制计算机,很方便,并且是学习用的非常好的资料.
💻 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 + -