www.pudn.com > ntshell.rar > 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{ 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_)